diff options
author | Doug Evans <dje@google.com> | 2014-01-22 14:17:39 -0800 |
---|---|---|
committer | Doug Evans <dje@google.com> | 2014-01-22 14:17:39 -0800 |
commit | 87ce2a04c53fa7bb4fff50a41e45c0b29af06dae (patch) | |
tree | a4c1b772d0b6e7d24277a843efadf522400c1c5d /gdb/gdbserver/debug.h | |
parent | 96b961024c796c5a609fd4d6a772b060eb3b6197 (diff) | |
download | fsf-binutils-gdb-87ce2a04c53fa7bb4fff50a41e45c0b29af06dae.zip fsf-binutils-gdb-87ce2a04c53fa7bb4fff50a41e45c0b29af06dae.tar.gz fsf-binutils-gdb-87ce2a04c53fa7bb4fff50a41e45c0b29af06dae.tar.bz2 |
New gdbserver option --debug-format=timestamp.
* NEWS: Mention it.
gdbserver/
* configure.ac (AC_CHECK_FUNCS): Add test for gettimeofday.
* configure: Regenerate.
* config.in: Regenerate.
* Makefile.in (SFILES): Add debug.c.
(OBS): Add debug.o.
* debug.c: New file.
* debug.h: New file.
* linux-aarch64-low.c (*): Update all debugging printfs to use
debug_printf instead of fprintf.
* linux-arm-low.c (*): Ditto.
* linux-cris-low.c (*): Ditto.
* linux-crisv32-low.c (*): Ditto.
* linux-m32r-low.c (*): Ditto.
* linux-sparc-low.c (*): Ditto.
* linux-x86.c (*): Ditto.
* linux-low.c (*): Ditto.
(linux_wait_1): Add calls to debug_enter, debug_exit.
(linux_wait): Remove redundant debugging printf.
(stop_all_lwps): Add calls to debug_enter, debug_exit.
(linux_resume, unstop_all_lwps): Ditto.
* mem-break.c (*): Update all debugging printfs to use
debug_printf instead of fprintf.
* remote-utils.c (*): Ditto.
* thread-db.c (*): Ditto.
* server.c #include <ctype.h>, "gdb_vecs.h".
(debug_threads): Moved to debug.c.
(*): Update all debugging printfs to use debug_printf instead of
fprintf.
(start_inferior): Replace call to fflush with call to debug_flush.
(monitor_show_help): Mention set debug-format.
(parse_debug_format_options): New function.
(handle_monitor_command): Handle "monitor set debug-format".
(gdbserver_usage): Mention --debug-format.
(main): Parse --debug-format.
* server.h (debug_threads): Declaration moved to debug.h.
#include "debug.h".
* tracepoint.c (trace_debug_1) [!IN_PROCESS_AGENT]: Add version of
trace_debug_1 that uses debug_printf.
(tracepoint_look_up_symbols): Update all debugging printfs to use
debug_printf instead of fprintf.
doc/
* gdb.texinfo (Server): Mention --debug-format=all|none|timestamp.
(gdbserver man): Ditto.
testsuite/
* gdb.server/server-mon.exp: Add tests for "set debug-format".
Diffstat (limited to 'gdb/gdbserver/debug.h')
-rw-r--r-- | gdb/gdbserver/debug.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/gdb/gdbserver/debug.h b/gdb/gdbserver/debug.h new file mode 100644 index 0000000..0f056ca --- /dev/null +++ b/gdb/gdbserver/debug.h @@ -0,0 +1,55 @@ +/* Debugging routines for the remote server for GDB. + Copyright (C) 2014 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#ifndef DEBUG_H +#define DEBUG_H + +/* We declare debug format variables here, and debug_threads but no other + debug content variables (e.g., not remote_debug) because while this file + is not currently used by IPA it may be some day, and IPA may have its own + set of debug content variables. It's ok to declare debug_threads here + because it is misnamed - a better name is debug_basic or some such, + which can work for any program, gdbserver or IPA. If/when this file is + used with IPA it is recommended to fix debug_thread's name. */ +extern int debug_threads; +extern int debug_timestamp; + +void debug_printf (const char *msg, ...) ATTRIBUTE_PRINTF (1, 2); +void debug_flush (void); +void do_debug_enter (const char *function_name); +void do_debug_exit (const char *function_name); + +/* These macros are for use in major functions that produce a lot of + debugging output. They help identify in the mass of debugging output + when these functions enter and exit. debug_enter is intended to be + called at the start of a function, before any other debugging output. + debug_exit is intended to be called at the end of the same function, + after all debugging output. */ +#ifdef FUNCTION_NAME +#define debug_enter() \ + do { do_debug_enter (FUNCTION_NAME); } while (0) +#define debug_exit() \ + do { do_debug_exit (FUNCTION_NAME); } while (0) +#else +#define debug_enter() \ + do { } while (0) +#define debug_exit() \ + do { } while (0) +#endif + +#endif /* DEBUG_H */ |