Creating and using dwarf information for ARMv7-A exception handlers

Tom Tromey tom@tromey.com
Mon Dec 1 19:59:41 GMT 2025


>>>>> jh--- via Gdb <gdb@sourceware.org> writes:

> I would like (if it is possible) to have a complete stack trace when
> my code is in the SVC handler.

I don't know anything about ARM.  However it's often the case that
unwinding through special frames requires some extra support, either
some flag in the debuginfo somewhere, or a special unwinder in gdb.

> What am I doing wrong?
> Is there a way to dump the dwarf state in gdb? To try and determine
> what it understands of my code and how it is primed when the
> breakpoint is triggered.
> Is the register number wrong? Is it something on the gdb side?

There's no simple answer to these questions.  Unwinding in gdb is rather
complicated.

You can sometimes get some info with "set debug frame 1".
However the normal method is to debug gdb and try to understand what's
gone wrong.

I do see a lot of unwinding code in arm-tdep.c.  I'd expect a lot of
that to be bypassed, though, if the DWARF describes the frame in question.
If so then you'd be looked at debugging through the DWARF unwinder.

Tom


More information about the Gdb mailing list