make "set debug target" take effect immediately
Commit Message
Eli> The 2nd sentence of the doc string says something that you deleted
Eli> from the manual. Shouldn't it be deleted from here as well?
Yeah, overlooked that one.
Tom
b/gdb/ChangeLog:
2014-07-28 Tom Tromey <tromey@redhat.com>
* target.c (set_targetdebug): New function.
(initialize_targets): Pass set_targetdebug when creating "set
debug target".
b/gdb/doc/ChangeLog:
2014-07-28 Tom Tromey <tromey@redhat.com>
* gdb.texinfo (Debugging Output): Update for change to "set debug
target".
b/gdb/testsuite/ChangeLog:
2014-07-28 Tom Tromey <tromey@redhat.com>
* gdb.base/sss-bp-on-user-bp-2.exp: Expect output from "set debug
target 0".
Comments
>>>>> "Tom" == Tom Tromey <tromey@redhat.com> writes:
Tom> b/gdb/ChangeLog:
Tom> 2014-07-28 Tom Tromey <tromey@redhat.com>
Tom> * target.c (set_targetdebug): New function.
Tom> (initialize_targets): Pass set_targetdebug when creating "set
Tom> debug target".
Tom> b/gdb/doc/ChangeLog:
Tom> 2014-07-28 Tom Tromey <tromey@redhat.com>
Tom> * gdb.texinfo (Debugging Output): Update for change to "set debug
Tom> target".
Tom> b/gdb/testsuite/ChangeLog:
Tom> 2014-07-28 Tom Tromey <tromey@redhat.com>
Tom> * gdb.base/sss-bp-on-user-bp-2.exp: Expect output from "set debug
Tom> target 0".
I'm checking this in.
Tom
@@ -22996,8 +22996,7 @@ Show the current state of symbol table creation debugging.
Turns on or off display of @value{GDBN} target debugging info. This info
includes what is going on at the target level of GDB, as it happens. The
default is 0. Set it to 1 to track events, and to 2 to also track the
-value of large memory transfers. Changes to this flag do not take effect
-until the next time you connect to a target or use the @code{run} command.
+value of large memory transfers.
@item show debug target
Displays the current state of displaying @value{GDBN} target debugging
info.
@@ -120,6 +120,8 @@ static void init_dummy_target (void);
static void debug_to_open (char *, int);
+static void update_current_target (void);
+
/* Pointer to array of target architecture structures; the size of the
array; the current index into the array; the allocated size of the
array. */
@@ -175,6 +177,13 @@ int may_stop = 1;
/* Non-zero if we want to see trace of target level stuff. */
static unsigned int targetdebug = 0;
+
+static void
+set_targetdebug (char *args, int from_tty, struct cmd_list_element *c)
+{
+ update_current_target ();
+}
+
static void
show_targetdebug (struct ui_file *file, int from_tty,
struct cmd_list_element *c, const char *value)
@@ -3554,9 +3563,8 @@ initialize_targets (void)
Set target debugging."), _("\
Show target debugging."), _("\
When non-zero, target debugging is enabled. Higher numbers are more\n\
-verbose. Changes do not take effect until the next \"run\" or \"target\"\n\
-command."),
- NULL,
+verbose."),
+ set_targetdebug,
show_targetdebug,
&setdebuglist, &showdebuglist);
@@ -76,7 +76,7 @@ if { $hardware_step } {
return
}
-gdb_test_no_output "set debug target 0"
+gdb_test "set debug target 0" "->to_log_command.*\\)"
set line_re "\[^\r\n\]*"