]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/gdbserver/debug.h
7c9a4b0f97bb60e96c7eb9a4268482391efa4952
[thirdparty/binutils-gdb.git] / gdb / gdbserver / debug.h
1 /* Debugging routines for the remote server for GDB.
2 Copyright (C) 2014-2016 Free Software Foundation, Inc.
3
4 This file is part of GDB.
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>. */
18
19 #ifndef DEBUG_H
20 #define DEBUG_H
21
22 /* We declare debug format variables here, and debug_threads but no other
23 debug content variables (e.g., not remote_debug) because while this file
24 is not currently used by IPA it may be some day, and IPA may have its own
25 set of debug content variables. It's ok to declare debug_threads here
26 because it is misnamed - a better name is debug_basic or some such,
27 which can work for any program, gdbserver or IPA. If/when this file is
28 used with IPA it is recommended to fix debug_thread's name. */
29 extern int debug_threads;
30 extern int debug_timestamp;
31
32 void debug_flush (void);
33 void do_debug_enter (const char *function_name);
34 void do_debug_exit (const char *function_name);
35
36 /* These macros are for use in major functions that produce a lot of
37 debugging output. They help identify in the mass of debugging output
38 when these functions enter and exit. debug_enter is intended to be
39 called at the start of a function, before any other debugging output.
40 debug_exit is intended to be called at the end of the same function,
41 after all debugging output. */
42 #ifdef FUNCTION_NAME
43 #define debug_enter() \
44 do { do_debug_enter (FUNCTION_NAME); } while (0)
45 #define debug_exit() \
46 do { do_debug_exit (FUNCTION_NAME); } while (0)
47 #else
48 #define debug_enter() \
49 do { } while (0)
50 #define debug_exit() \
51 do { } while (0)
52 #endif
53
54 #endif /* DEBUG_H */