mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 16:23:55 -06:00
gdbstub: manage CPUs as threads (Jan Kiszka)
This patch enhances QEMU's built-in debugger for SMP guest debugging. Using the thread support of the gdb remote protocol, each VCPU is mapped on a pseudo thread and exposed to the gdb frontend. This way you can easy switch the focus of gdb between the VCPUs and observe their states. On breakpoint hit, the focus is automatically adjusted just as for normal multi-threaded application under gdb control. Furthermore, the patch propagates breakpoint and watchpoint insertions or removals to all CPUs, not just the current one as it was the case so far. Without this, SMP guest debugging was practically unfeasible. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5743 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
bfa50bc263
commit
880a757838
3 changed files with 196 additions and 82 deletions
1
vl.c
1
vl.c
|
@ -3720,6 +3720,7 @@ static int main_loop(void)
|
|||
ret = EXCP_INTERRUPT;
|
||||
}
|
||||
if (unlikely(ret == EXCP_DEBUG)) {
|
||||
gdb_set_stop_cpu(cur_cpu);
|
||||
vm_stop(EXCP_DEBUG);
|
||||
}
|
||||
/* If all cpus are halted then wait until the next IRQ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue