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

Reply via email to