Kyle Galloway wrote:
Arun Sharma wrote:
Kyle Galloway wrote:
As I mentioned, I didn't get any debug output, did I do something
wrong trying to set that up?
You need to set UNW_DEBUG_LEVEL when running your test program. For eg:
UNW_DEBUG_LEVEL=16 ./unwinddebug
-Arun
Thanks alot, here is the run on x86_64 with debug info
Enter the PID of the main therad: 20505
Assuming second thread is pid 20506
>_Ux86_64_init_remote: (cursor=0x7ffff0392690)
>_UPT_access_reg: RIP -> 324ebcd176
>_UPT_access_reg: RSP -> 7fffa5ffcd90
>_Ux86_64_step: (cursor=0x7ffff0392690, ip=0x000000324ebcd176)
>_UPT_get_dyn_info_list_addr: looking for dyn_info list
>_Ux86_64_dwarf_step: returning -10
It looks like dwarf based unwinding is failing on x86-64 for you and
you're falling back to frame pointer based unwinding, which would be
bogus even for the main thread (if you didn't compile with
-fno-omit-frame-pointer) on x86-64.
On x86, the frame pointer is normally present and things are working ok
for you.
You probably want to debug why _UPT_get_dyn_info_list_addr() is failing
for you. I've never tested this aspect of libunwind on x86-64.
-Arun
_______________________________________________
Libunwind-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/libunwind-devel