On 04/23/2018 02:37 AM, 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?
Yeah, "frame <args>" has a lot of problems. This series was working toward sorting out the "frame" command: https://sourceware.org/ml/gdb-patches/2015-09/msg00248.html Follow the urls there for more background. To me, the important questions to answer are here: https://sourceware.org/ml/gdb-patches/2015-09/msg00658.html Unfortunately, I don't think the series moved past that point. Thanks, Pedro Alves