btrfs: [] on the end of a struct field is a variable length array.
[haiku.git] / headers / private / debugger / Tracing.h
blobbb5da7fc14818931ff748cc8988b7f277562229a
1 /*
2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
4 */
5 #ifndef TRACING_H
6 #define TRACING_H
9 #include <stdio.h>
11 #include "apps_debugger_config.h"
14 #define WARNING(x...) fprintf(stderr, x)
15 #define ERROR(x...) fprintf(stderr, x)
18 #if APPS_DEBUGGER_TRACE_DWARF_DIE
19 # define TRACE_DIE(x...) printf(x)
20 # define TRACE_DIE_ONLY(x) x
21 #else
22 # define TRACE_DIE(x...) (void)0
23 # define TRACE_DIE_ONLY(x)
24 #endif
26 #if APPS_DEBUGGER_TRACE_DWARF_LINE_INFO
27 # define TRACE_LINES(x...) printf(x)
28 # define TRACE_LINES_ONLY(x) x
29 #else
30 # define TRACE_LINES(x...) (void)0
31 # define TRACE_LINES_ONLY(x)
32 #endif
34 #if APPS_DEBUGGER_TRACE_DWARF_LINE_INFO >= 2
35 # define TRACE_LINES2(x...) printf(x)
36 # define TRACE_LINES2_ONLY(x) x
37 #else
38 # define TRACE_LINES2(x...) (void)0
39 # define TRACE_LINES2_ONLY(x)
40 #endif
42 #if APPS_DEBUGGER_TRACE_DWARF_EXPRESSIONS
43 # define TRACE_EXPR(x...) printf(x)
44 # define TRACE_EXPR_ONLY(x) x
45 #else
46 # define TRACE_EXPR(x...) (void)0
47 # define TRACE_EXPR_ONLY(x)
48 #endif
50 #if APPS_DEBUGGER_TRACE_DWARF_PUBLIC_TYPES
51 # define TRACE_PUBTYPES(x...) printf(x)
52 # define TRACE_PUBTYPES_ONLY(x) x
53 #else
54 # define TRACE_PUBTYPES(x...) (void)0
55 # define TRACE_PUBTYPES_ONLY(x)
56 #endif
58 #if APPS_DEBUGGER_TRACE_CFI
59 # define TRACE_CFI(x...) printf(x)
60 # define TRACE_CFI_ONLY(x) x
61 #else
62 # define TRACE_CFI(x...) (void)0
63 # define TRACE_CFI_ONLY(x)
64 #endif
66 #if APPS_DEBUGGER_TRACE_STACK_FRAME_LOCALS
67 # define TRACE_LOCALS(x...) printf(x)
68 # define TRACE_LOCALS_ONLY(x) x
69 #else
70 # define TRACE_LOCALS(x...) (void)0
71 # define TRACE_LOCALS_ONLY(x)
72 #endif
74 #if APPS_DEBUGGER_TRACE_IMAGES
75 # define TRACE_IMAGES(x...) printf(x)
76 # define TRACE_IMAGES_ONLY(x) x
77 #else
78 # define TRACE_IMAGES(x...) (void)0
79 # define TRACE_IMAGES_ONLY(x)
80 #endif
82 #if APPS_DEBUGGER_TRACE_CODE
83 # define TRACE_CODE(x...) printf(x)
84 # define TRACE_CODE_ONLY(x) x
85 #else
86 # define TRACE_CODE(x...) (void)0
87 # define TRACE_CODE_ONLY(x)
88 #endif
90 #if APPS_DEBUGGER_TRACE_JOBS
91 # define TRACE_JOBS(x...) printf(x)
92 # define TRACE_JOBS_ONLY(x) x
93 #else
94 # define TRACE_JOBS(x...) (void)0
95 # define TRACE_JOBS_ONLY(x)
96 #endif
98 #if APPS_DEBUGGER_TRACE_DEBUG_EVENTS
99 # define TRACE_EVENTS(x...) printf(x)
100 # define TRACE_EVENTS_ONLY(x) x
101 #else
102 # define TRACE_EVENTS(x...) (void)0
103 # define TRACE_EVENTS_ONLY(x)
104 #endif
106 #if APPS_DEBUGGER_TRACE_TEAM_CONTROL
107 # define TRACE_CONTROL(x...) printf(x)
108 # define TRACE_CONTROL_ONLY(x) x
109 #else
110 # define TRACE_CONTROL(x...) (void)0
111 # define TRACE_CONTROL_ONLY(x)
112 #endif
114 #if APPS_DEBUGGER_TRACE_GUI
115 # define TRACE_GUI(x...) printf(x)
116 # define TRACE_GUI_ONLY(x) x
117 #else
118 # define TRACE_GUI(x...) (void)0
119 # define TRACE_GUI_ONLY(x)
120 #endif
123 #endif // TRACING_H