gdbserver: Add debug-file option

Add command line option to send all debug output to a given file.
Always default back to stderr.

Add matching monitor command. Add documentation.

gdb/doc/ChangeLog:

	* gdb.texinfo
	(Other Command-Line Arguments for gdbserver): Add debug-file
	option.
	(Monitor Commands for gdbserver): Likewise.
	(gdbserver man): Likewise.

gdb/gdbserver/ChangeLog:

	* debug.c (debug_set_output): New function.
	(debug_vprintf): Send output to debug_file.
	(debug_flush): Likewise.
	* debug.h (debug_set_output): New declaration.
	* server.c (handle_monitor_command): Add debug-file option.
	(captured_main): Likewise.
This commit is contained in:
Alan Hayward 2019-04-12 15:49:11 +01:00
parent c1bc0935a4
commit aeb2e706e1
6 changed files with 79 additions and 5 deletions

View file

@ -1403,6 +1403,10 @@ handle_monitor_command (char *mon, char *own_buf)
write_enn (own_buf);
}
}
else if (strcmp (mon, "set debug-file") == 0)
debug_set_output (nullptr);
else if (startswith (mon, "set debug-file "))
debug_set_output (mon + sizeof ("set debug-file ") - 1);
else if (strcmp (mon, "help") == 0)
monitor_show_help ();
else if (strcmp (mon, "exit") == 0)
@ -3649,6 +3653,8 @@ captured_main (int argc, char *argv[])
}
else if (strcmp (*next_arg, "--remote-debug") == 0)
remote_debug = 1;
else if (startswith (*next_arg, "--debug-file="))
debug_set_output ((*next_arg) + sizeof ("--debug-file=") -1);
else if (strcmp (*next_arg, "--disable-packet") == 0)
{
gdbserver_show_disableable (stdout);