libunwind
libunwind‘s
goal is “define a portable and efficient C programming interface (API)
to determine the call-chain of a program. The API additionally provides the means
to manipulate the preserved (callee-saved) state of each call-frame and to resume
execution at any point in the call-chain (non-local goto). The API supports both local
(same-process) and remote (across-process) operation“. Interesting
piece of software, which would allow the development of a debugger that can go
back to a given point of execution, and resume from there, which would be a really
useful feature.