On Thu, Sep 4, 2014 at 5:42 AM, Scott Biersdorff <[email protected]> wrote: > Hi, > > > I am attempting to unwind from an optimized shared (non-stripped) library > compiled with debugging information. However I cannot unwind pass the second > entry on the call stack. Ideally I would like to unwind all the way back to > main and I understand libunwind has techniques it uses when and if the frame > pointers/dwarf information is unavailable and I want to make sure that I’m > using libunwind in such a way that gives it is the best possibility to use > these techniques. Here are some details: >
I noticed that addresses in gdb stack trace and libunwind weren't the same. Perhaps turn off address space randomization in the kernel to compare the two unwinders? Other things I'd check: * Does the binary have .eh_frame section intact? * Any hand written asm function with missing unwind info? * Are async signals involved? If so, you'll need to compile with -fasynchronous-unwind-tables Also, at higher UNWIND_DEBUG_LEVELs you'll see more information about the point where libunwind switched from DWARF based unwinding to frame pointer based unwinding due to lack of debug info. -Arun _______________________________________________ Libunwind-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/libunwind-devel
