gdb_main: Implemented a notification to GDB that the "process" has exited when the user runs a new bus scan while attached to a target
This commit is contained in:
parent
c0b5f89148
commit
e2f07b359a
|
@ -63,6 +63,7 @@ static char pbuf[BUF_SIZE + 1U];
|
||||||
|
|
||||||
static target *cur_target;
|
static target *cur_target;
|
||||||
static target *last_target;
|
static target *last_target;
|
||||||
|
static bool gdb_needs_detach_notify = false;
|
||||||
|
|
||||||
static void handle_q_packet(char *packet, size_t len);
|
static void handle_q_packet(char *packet, size_t len);
|
||||||
static void handle_v_packet(char *packet, size_t len);
|
static void handle_v_packet(char *packet, size_t len);
|
||||||
|
@ -73,8 +74,10 @@ static void gdb_target_destroy_callback(struct target_controller *tc, target *t)
|
||||||
{
|
{
|
||||||
(void)tc;
|
(void)tc;
|
||||||
if (cur_target == t) {
|
if (cur_target == t) {
|
||||||
|
gdb_put_notificationz("%Stop:W00");
|
||||||
gdb_out("You are now detached from the previous target.\n");
|
gdb_out("You are now detached from the previous target.\n");
|
||||||
cur_target = NULL;
|
cur_target = NULL;
|
||||||
|
gdb_needs_detach_notify = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (last_target == t)
|
if (last_target == t)
|
||||||
|
@ -650,6 +653,13 @@ static void handle_v_packet(char *packet, const size_t plen)
|
||||||
gdb_putpacketz(target_flash_done(cur_target) ? "EFF" : "OK");
|
gdb_putpacketz(target_flash_done(cur_target) ? "EFF" : "OK");
|
||||||
flash_mode = 0;
|
flash_mode = 0;
|
||||||
|
|
||||||
|
} else if (!strcmp(packet, "vStopped")) {
|
||||||
|
if (gdb_needs_detach_notify) {
|
||||||
|
gdb_putpacketz("W00");
|
||||||
|
gdb_needs_detach_notify = false;
|
||||||
|
} else
|
||||||
|
gdb_putpacketz("OK");
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
DEBUG_GDB("*** Unsupported packet: %s\n", packet);
|
DEBUG_GDB("*** Unsupported packet: %s\n", packet);
|
||||||
gdb_putpacket("", 0);
|
gdb_putpacket("", 0);
|
||||||
|
|
Loading…
Reference in New Issue