mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 06:45:56 +08:00
* inflow.c (kill_command): Moved to infcmd.c.
(_initialize_inflow): Don't add the "kill" command or clear inferior_ptid here. * infcmd.c (kill_command): Moved here from inflow.c. (_initialize_infcmd): Add the "kill" command here.
This commit is contained in:
34
gdb/infcmd.c
34
gdb/infcmd.c
@ -2037,6 +2037,37 @@ vector_info (char *args, int from_tty)
|
||||
get_selected_frame (NULL), args);
|
||||
}
|
||||
|
||||
/* Kill the inferior process. Make us have no inferior. */
|
||||
|
||||
static void
|
||||
kill_command (char *arg, int from_tty)
|
||||
{
|
||||
/* FIXME: This should not really be inferior_ptid (or target_has_execution).
|
||||
It should be a distinct flag that indicates that a target is active, cuz
|
||||
some targets don't have processes! */
|
||||
|
||||
if (ptid_equal (inferior_ptid, null_ptid))
|
||||
error (_("The program is not being run."));
|
||||
if (!query (_("Kill the program being debugged? ")))
|
||||
error (_("Not confirmed."));
|
||||
target_kill ();
|
||||
|
||||
/* If the current target interface claims there's still execution,
|
||||
then don't mess with threads of other processes. */
|
||||
if (!target_has_execution)
|
||||
{
|
||||
init_thread_list (); /* Destroy thread info */
|
||||
|
||||
/* Killing off the inferior can leave us with a core file. If
|
||||
so, print the state we are left in. */
|
||||
if (target_has_stack)
|
||||
{
|
||||
printf_filtered (_("In %s,\n"), target_longname);
|
||||
print_stack_frame (get_selected_frame (NULL), 1, SRC_AND_LOC);
|
||||
}
|
||||
}
|
||||
bfd_cache_close_all ();
|
||||
}
|
||||
|
||||
/* Used in `attach&' command. ARG is a point to an integer
|
||||
representing a process id. Proceed threads of this process iff
|
||||
@ -2595,6 +2626,9 @@ fully linked executable files and separately compiled object files as needed."),
|
||||
&showlist);
|
||||
set_cmd_completer (c, noop_completer);
|
||||
|
||||
add_com ("kill", class_run, kill_command,
|
||||
_("Kill execution of program being debugged."));
|
||||
|
||||
add_com ("attach", class_run, attach_command, _("\
|
||||
Attach to a process or file outside of GDB.\n\
|
||||
This command attaches to another target, of the same type as your last\n\
|
||||
|
Reference in New Issue
Block a user