On Windows, this is required to flush the remaining data in the IO stream, otherwise Gdb do not receive the last packet.
Signed-off-by: Fabien Chouteau <chout...@adacore.com> --- gdbstub.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/gdbstub.c b/gdbstub.c index 0aa081b..dac3ce6 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -2391,6 +2391,10 @@ void gdb_exit(CPUState *env, int code) snprintf(buf, sizeof(buf), "W%02x", (uint8_t)code); put_packet(s, buf); + + if (s->chr) { + qemu_chr_close(s->chr); + } } #ifdef CONFIG_USER_ONLY -- 1.7.1