Re: Creating and using dwarf information for ARMv7-A exception handlers

Tom Tromey <[email protected]> Mon, 01 Dec 2025 12:59:41 -0700
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
>>>>> jh--- via Gdb <[email protected]> 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