[Bug backtrace/12237] New: set backtrace past-zero-pc

jan.kratochvil at redhat dot com sourceware-bugzilla@sourceware.org
Fri Nov 19 01:41:00 GMT 2010


http://sourceware.org/bugzilla/show_bug.cgi?id=12237

           Summary: set backtrace past-zero-pc
           Product: gdb
           Version: HEAD
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: backtrace
        AssignedTo: unassigned@sourceware.org
        ReportedBy: jan.kratochvil@redhat.com


Created attachment 5129
  --> http://sourceware.org/bugzilla/attachment.cgi?id=5129
Draft patch.

Sometimes corrupted stack stops stack unwinding.  User should have a way to
request further unwinding so that the backtraces "synces" up again.

Fedora contained:
gdb-6.3-framepczero-20040927.patch
gdb-6.3-bt-past-zero-20051201.patch

but those work only in marginal cases, as shown on the attached testcase.

Still there is a problem:

(gdb) bt
#0  marker () at ./gdb.base/bt-past-zero-pc.c:23
#1  0x0000000000400573 in clear_stack (end=0x0) at
./gdb.base/bt-past-zero-pc.c:38
#2  0x0000000000000000 in ?? ()
#3  0x0000000000000000 in ?? ()
#4  0x0000000000000000 in ?? ()
#5  0x00007ffff7b4c730 in ?? () from /lib64/libc.so.6
#6  0x00007fffffffdd18 in ?? ()
#7  0x00007fffffffdd40 in ?? ()
#8  0x00000000004005a5 in stub () at ./gdb.base/bt-past-zero-pc.c:52
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Frames #2 upwards already have $rbp == 0.
DWARF frame #8 therefore cannot unwind futher.

There should be a main() frame #9.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the Gdb-prs mailing list