naev 0.12.6
debug.h
1/*
2 * See Licensing and Copyright notice in naev.h
3 */
4#pragma once
5
6void debug_sigInit( void );
7void debug_sigClose( void );
8void debug_enableFPUExcept( void );
9void debug_disableFPUExcept( void );
10void debug_enableLeakSanitizer( void );
11
12enum {
13 DEBUG_MARK_EMITTER,
14 DEBUG_MARK_COLLISION,
15 /* Sentinel. */
16 DEBUG_FLAGS_MAX
17};
18
19#if DEBUGGING
20#define debug_isFlag( f ) ( debug_flags[f] )
21#define debug_setFlag( f ) ( debug_flags[f] = 1 )
22#define debug_rmFlag( f ) ( debug_flags[f] = 0 )
23
24typedef char DebugFlags[DEBUG_FLAGS_MAX];
25
26/* Initialize debugging flags. */
27extern DebugFlags debug_flags;
28
29void debug_logBacktrace( void );
30#else /* DEBUGGING */
31#define NOOP() \
32 do { \
33 } while ( 0 )
34#define debug_isFlag( f ) 0
35#define debug_setFlag( f ) NOOP()
36#define debug_rmFlag( f ) NOOP()
37#define debug_logBacktrace() NOOP()
38#endif /* DEBUGGING */
void debug_sigInit(void)
Sets up the back-tracing signal handler.
Definition debug.c:259
void debug_enableLeakSanitizer(void)
Does nothing. Calling this tells our debug scripts to stop tracing.
Definition debug.c:313
void debug_sigClose(void)
Closes the back-tracing signal handler.
Definition debug.c:301
void debug_disableFPUExcept(void)
Disables FPU exceptions.
Definition debug_fpu.c:37
void debug_enableFPUExcept(void)
Enables FPU exceptions. Artificially limited to Linux until link issues are figured out.
Definition debug_fpu.c:27