Hi:

I've been trying to use the latest unwind library with my app on x86-64 for
remote unwinding of a (live) target process.  I seem to be confused about
the use of my own accessor functions as sent to unw_create_addr_space().


First, the find_proc_info callback seems to want (using the example in the
src/ptrace/ directory) a highly specific data structure passed back in the
"unwind_info" field: a dwarf_cie_info_t data structure, that isn't defined
in any exported libunwind header files.

It seems very strange that I'm able to specify my own callback function, yet
if I do, I'm required to borrow lots of code in order to cobble up the
unwind information in a form that the library wants.  It also forces me to
understand a lot of the Dwarf unwind info, which seems less than ideal; why
not just pass information sucked out of the .eh_frame section, and let the
library parse it itself??


Second, I'm never seeing my "put_unwind_info" callback being called.  From
what I can tell from the libunwind sources, it appears that this callback is
invoked ONLY for dynamic proc/unwind info -- not for "normal" (static)
unwind info (see src/dwarf/Gparser.c::put_unwind_info() ).

Am I missing something?

Thanks,
Curt


_______________________________________________
Libunwind-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/libunwind-devel

Reply via email to