* utils.c (debug_timestamp): New.
(vfprintf_unfiltered): Print timestamps if requested. (show_debug_timestamp): New. (initialize_utils): Register "set debug timestamp". * NEWS: Mention "set debug timestamp". Add GDB 6.8 section. * gdb.texinfo (Debugging Output): Document "set debug timestamp".
This commit is contained in:
parent
b40e7bf371
commit
75feb17dd5
3 changed files with 50 additions and 1 deletions
10
gdb/NEWS
10
gdb/NEWS
|
@ -1,7 +1,15 @@
|
||||||
What has changed in GDB?
|
What has changed in GDB?
|
||||||
(Organized release by release)
|
(Organized release by release)
|
||||||
|
|
||||||
*** Changes since GDB 6.7
|
*** Changes since GDB 6.8
|
||||||
|
|
||||||
|
* New commands
|
||||||
|
|
||||||
|
set debug timetstamp
|
||||||
|
show debug timestamp
|
||||||
|
Display timestamps with GDB debugging output.
|
||||||
|
|
||||||
|
*** Changes in GDB 6.8
|
||||||
|
|
||||||
* New native configurations
|
* New native configurations
|
||||||
|
|
||||||
|
|
|
@ -16387,6 +16387,14 @@ until the next time you connect to a target or use the @code{run} command.
|
||||||
@item show debug target
|
@item show debug target
|
||||||
Displays the current state of displaying @value{GDBN} target debugging
|
Displays the current state of displaying @value{GDBN} target debugging
|
||||||
info.
|
info.
|
||||||
|
@item set debug timestamp
|
||||||
|
@cindex timestampping debugging info
|
||||||
|
Turns on or off display of timestamps with @value{GDBN} debugging info.
|
||||||
|
When enabled, seconds and microseconds are displayed before each debugging
|
||||||
|
message.
|
||||||
|
@item show debug timestamp
|
||||||
|
Displays the current state of displaying timestamps with @value{GDBN}
|
||||||
|
debugging info.
|
||||||
@item set debugvarobj
|
@item set debugvarobj
|
||||||
@cindex variable object debugging info
|
@cindex variable object debugging info
|
||||||
Turns on or off display of @value{GDBN} variable object debugging
|
Turns on or off display of @value{GDBN} variable object debugging
|
||||||
|
|
33
gdb/utils.c
33
gdb/utils.c
|
@ -63,6 +63,9 @@
|
||||||
|
|
||||||
#include "readline/readline.h"
|
#include "readline/readline.h"
|
||||||
|
|
||||||
|
#include <sys/time.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
#if !HAVE_DECL_MALLOC
|
#if !HAVE_DECL_MALLOC
|
||||||
extern PTR malloc (); /* OK: PTR */
|
extern PTR malloc (); /* OK: PTR */
|
||||||
#endif
|
#endif
|
||||||
|
@ -92,6 +95,10 @@ static void prompt_for_continue (void);
|
||||||
static void set_screen_size (void);
|
static void set_screen_size (void);
|
||||||
static void set_width (void);
|
static void set_width (void);
|
||||||
|
|
||||||
|
/* A flag indicating whether to timestamp debugging messages. */
|
||||||
|
|
||||||
|
static int debug_timestamp = 0;
|
||||||
|
|
||||||
/* Chain of cleanup actions established with make_cleanup,
|
/* Chain of cleanup actions established with make_cleanup,
|
||||||
to be executed if an error happens. */
|
to be executed if an error happens. */
|
||||||
|
|
||||||
|
@ -2121,6 +2128,16 @@ vfprintf_unfiltered (struct ui_file *stream, const char *format, va_list args)
|
||||||
|
|
||||||
linebuffer = xstrvprintf (format, args);
|
linebuffer = xstrvprintf (format, args);
|
||||||
old_cleanups = make_cleanup (xfree, linebuffer);
|
old_cleanups = make_cleanup (xfree, linebuffer);
|
||||||
|
if (debug_timestamp && stream == gdb_stdlog)
|
||||||
|
{
|
||||||
|
struct timeval tm;
|
||||||
|
char *timestamp;
|
||||||
|
|
||||||
|
gettimeofday (&tm, NULL);
|
||||||
|
timestamp = xstrprintf ("%ld:%ld ", (long) tm.tv_sec, (long) tm.tv_usec);
|
||||||
|
make_cleanup (xfree, timestamp);
|
||||||
|
fputs_unfiltered (timestamp, stream);
|
||||||
|
}
|
||||||
fputs_unfiltered (linebuffer, stream);
|
fputs_unfiltered (linebuffer, stream);
|
||||||
do_cleanups (old_cleanups);
|
do_cleanups (old_cleanups);
|
||||||
}
|
}
|
||||||
|
@ -2437,6 +2454,13 @@ pagination_off_command (char *arg, int from_tty)
|
||||||
{
|
{
|
||||||
pagination_enabled = 0;
|
pagination_enabled = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
show_debug_timestamp (struct ui_file *file, int from_tty,
|
||||||
|
struct cmd_list_element *c, const char *value)
|
||||||
|
{
|
||||||
|
fprintf_filtered (file, _("Timestamping debugging messages is %s.\n"), value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -2497,6 +2521,15 @@ Show demangling of C++/ObjC names in disassembly listings."), NULL,
|
||||||
NULL,
|
NULL,
|
||||||
show_asm_demangle,
|
show_asm_demangle,
|
||||||
&setprintlist, &showprintlist);
|
&setprintlist, &showprintlist);
|
||||||
|
|
||||||
|
add_setshow_boolean_cmd ("timestamp", class_maintenance,
|
||||||
|
&debug_timestamp, _("\
|
||||||
|
Set timestamping of debugging messages."), _("\
|
||||||
|
Show timestamping of debugging messages."), _("\
|
||||||
|
When set, debugging messages will be marked with seconds and microseconds."),
|
||||||
|
NULL,
|
||||||
|
show_debug_timestamp,
|
||||||
|
&setdebuglist, &showdebuglist);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Machine specific function to handle SIGWINCH signal. */
|
/* Machine specific function to handle SIGWINCH signal. */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue