On Thu, Mar 26, 2015 at 10:42 PM, Stefan Hajnoczi <stefa...@redhat.com> wrote: > The 'qemu coroutine <coroutine-address>' GDB command prints the > backtrace for a CoroutineUContext. This is useful for peeking inside > yielded coroutines that are waiting for file descriptor events, timers, > etc. > > For example: > > $ gdb tests/test-coroutine > (gdb) b test_yield > (gdb) r > (gdb) b qemu_coroutine_enter > (gdb) c > (gdb) c > Continuing. > > Breakpoint 2, qemu_coroutine_enter (co=0x555555c66520, opaque=0x0) at > qemu-coroutine.c:103 > 103 { > (gdb) source scripts/qemu-gdb.py > (gdb) qemu coroutine 0x555555c66520 > #0 0x000055555557a740 in qemu_coroutine_switch (from_=<optimized out>, > to_=0x7ffff7f90a70, action=COROUTINE_YIELD) at coroutine-ucontext.c:177 > #1 0x0000555555566af9 in yield_5_times (opaque=0x7fffffffdbb7) at > tests/test-coroutine.c:107 > #2 0x000055555557a7aa in coroutine_trampoline (i0=<optimized out>, > i1=<optimized out>) at coroutine-ucontext.c:80 > #3 0x00007ffff08de000 in __start_context () at /lib64/libc.so.6 > > Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> > --- > scripts/qemu-gdb.py | 75 > +++++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 75 insertions(+)
Thanks, applied to my block-next branch: https://github.com/stefanha/qemu/commits/block-next Stefan