xref: /haiku/headers/private/debugger/Tracing.h (revision 3c08adef21129761f27ae654a1c5d1705786691a)
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
7 
8 
9 #include <stdio.h>
10 
11 #include "apps_debugger_config.h"
12 
13 
14 #define WARNING(x...)	fprintf(stderr, x)
15 #define ERROR(x...)		fprintf(stderr, x)
16 
17 
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
25 
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
33 
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
41 
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
49 
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
57 
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
65 
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
73 
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
81 
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
89 
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
97 
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
105 
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
113 
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
121 
122 
123 #endif	// TRACING_H
124