Hi,
I am running on Ubuntu Linux. I am using a custom debugger built upon LLDB C++ API using version 3.7.
The target program issues a lot of “legitimate” SIGSEGV signals that it handles itself. Its signal handler runs on a separate stack (it uses sigaltstack() and SA_ONSTACK). Now, sometimes a bug in the program causes SIGSEGV that the handler cannot deal with and it crashes. Now, when I load the core, I see stack frames for the signal handler stack, but what I really need are frames for the signaled stack.
Of course, I have access to siginfo_t and ucontext_t, so I can try to use some unwind library, but that approach is far from ideal - the LLDB already has the unwinder. So, what should I do to get the set of SBFrame’s that I can query about local variables, etc.? I mean, something like .cxr command in Windbg would be really handy…
Thanks,
Eugene