For instructions on how to build libunwind, see the README file in the libunwind source tree. Some notes illustrating the use of libunwind can be found in the file doc/NOTES.
Manual Pages
- - overview of the libunwind API
- - IA-64-specifics
- - ptrace(2) support for libunwind
- - turbo-setjmp()
- - create address space
- - destroy address space
- - flush cached info
- - get pointer to accessor call-backs
- - read floating-point register
- - get info on current procedure
- - get name of current procedure
- - read register
- - get current machine-state
- - initialize cursor for local unwinding
- - initialize cursor for remote unwinding
- - check whether floating-point register
- - check whether signal frame
- - get register name
- - resume execution in a stack frame
- - set caching policy
- - write floating-point register
- - write register
- - step to next (older) frame
Related Documentation
- This was originally defined specifically for Itanium, but in the meantime it's being used pretty much for all other platforms, too.
- These extensions were defined by H.J. Lu with help from the GCC and Intel compiler teams to plug some holes which were not covered by the original C++ ABI spec and caused some compatibility problems.
- See Chapter 11, ``Stack Unwinding and Exception Handling'' and Appendix B, ``Unwind Descriptor Record Format''.
- See Section 6.4. Caveat: GCC uses an extended version of what is being documented here. Some of it has been documented as part of the Linux Standards Base, but much of it is currently ``documented'' in the form of source code, only.
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1540567