]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gdbsupport/common-debug.h
gdb: use infrun_debug_printf in print_target_wait_results
[thirdparty/binutils-gdb.git] / gdbsupport / common-debug.h
CommitLineData
34abf635
GB
1/* Declarations for debug printing functions.
2
3666a048 3 Copyright (C) 2014-2021 Free Software Foundation, Inc.
34abf635
GB
4
5 This file is part of GDB.
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
1a5c2598
TT
20#ifndef COMMON_COMMON_DEBUG_H
21#define COMMON_COMMON_DEBUG_H
34abf635 22
491144b5 23/* Set to true to enable debugging of hardware breakpoint/
c5e92cca
GB
24 watchpoint support code. */
25
491144b5 26extern bool show_debug_regs;
c5e92cca 27
34abf635
GB
28/* Print a formatted message to the appropriate channel for
29 debugging output for the client. */
30
31extern void debug_printf (const char *format, ...)
32 ATTRIBUTE_PRINTF (1, 2);
33
34/* Print a formatted message to the appropriate channel for
35 debugging output for the client. This function must be
36 provided by the client. */
37
38extern void debug_vprintf (const char *format, va_list ap)
39 ATTRIBUTE_PRINTF (1, 0);
40
ba988419
SM
41/* Print a debug statement prefixed with the module and function name, and
42 with a newline at the end. */
43
17417fb0
SM
44extern void ATTRIBUTE_PRINTF (3, 4) debug_prefixed_printf
45 (const char *module, const char *func, const char *format, ...);
46
47/* Print a debug statement prefixed with the module and function name, and
48 with a newline at the end. */
49
ba988419
SM
50extern void ATTRIBUTE_PRINTF (3, 0) debug_prefixed_vprintf
51 (const char *module, const char *func, const char *format, va_list args);
52
74b773fc
SM
53
54/* Helper to define "_debug_print" macros.
55
56 DEBUG_ENABLED_COND is an expression that evaluates to true if the debugging
57 statement is enabled and should be printed.
58
59 The other arguments, as well as the name of the current function, are
60 forwarded to debug_prefixed_printf. */
61
62#define debug_prefixed_printf_cond(debug_enabled_cond, module, fmt, ...) \
63 do \
64 { \
65 if (debug_enabled_cond) \
66 debug_prefixed_printf (module, __func__, fmt, ##__VA_ARGS__); \
67 } \
68 while (0)
69
1a5c2598 70#endif /* COMMON_COMMON_DEBUG_H */