[Qemu-devel] [PATCH] scripts/qemugdb: support coroutine backtrace in coredumps
Vladimir Sementsov-Ogievskiy
vsementsov@virtuozzo.com
Mon Apr 23 13:28:00 GMT 2018
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
More information about the Gdb
mailing list