|
From: | Lassi Tuura |
Subject: | Re: [Libunwind-devel] Unwinding from optimzied shared library on linux |
Date: | Thu, 4 Sep 2014 10:39:15 +0200 |
On Thu, Sep 4, 2014 at 5:42 AM, Scott Biersdorff <address@hidden> wrote:I noticed that addresses in gdb stack trace and libunwind weren't the
> 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:
>
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
address@hidden
https://lists.nongnu.org/mailman/listinfo/libunwind-devel
[Prev in Thread] | Current Thread | [Next in Thread] |