Re: [Qemu-devel] [PATCH] scripts/qemugdb: support coroutine backtrace in coredumps
Vladimir Sementsov-Ogievskiy <[email protected]>
| Newsgroups | gmane.comp.gdb.devel,gmane.comp.emulators.qemu |
|---|---|
| Message-ID | <[email protected]> |
23.04.2018 12:33, Stefan Hajnoczi wrote: > On Sun, Apr 22, 2018 at 09:37:52PM -0400, Simon Marchi wrote: >> On 2018-04-09 10:08 PM, Stefan Hajnoczi wrote: >>> I wonder what the point of select-frame is then... >>> >>> I have CCed the GDB mailing list. Maybe someone can help us. Context: >>> >>> QEMU implements coroutines using jmpbuf. We'd like to print coroutine >>> call stacks in GDB and have a script that works when a process is being >>> debugged (it sets the registers). >>> >>> Now we'd like to extend the script to work on core dumps where it's not >>> possible to set registers (since there is no process being debugged). >>> >>> Is there a way to backtrace an arbitrary call stack in a core dump? >> Not that I know of. The "frame <stack-addr> <pc-addr>" form of the frame >> command sounds like it should be usable to achieve that, but it doesn't >> seem to work in that way. I really wonder if it's working as it was >> intended initially. I guess using that form of the frame command should >> override/mask the real current values of $sp and $pc? > Yes, that is what I was expecting. > > Vladimir has a script to copy the coredump file and manipulate the > registers on disk, but it would be nicer to do stack-switching inside > the GDB session without needing to create another coredump file. > > Vladimir: Would you like to write a GDB patch? If GDB is fixed then > workaround won't be necessary. Hmm, unlikely. At least, not in the nearest future. > > Stefan -- Best regards, Vladimir