<div>I've been looking into better leveraging LLDB for debugging it's own process, effectively allowing you to inspect your own program programmatically with a debugger-centric view.</div><div><br></div><div>I already built a functioning API for introspecting C programs using LLDB called <a href="https://github.com/eatnumber1/ruminate">Ruminate</a>, with an accompanying <a href="http://rus.har.mn/files/project-report.pdf">paper</a> written about it, but it has to jump through some rather expensive IPC hoops in order to do so.</div>
<div><br></div><div>After talking with Todd Fiala, he suggested writing an implementation of NativeProcessProtocol and NativeThreadProtocol that inspects the local process. This would allow same-process debugging without the expensive IPC that Ruminate has.</div>
<div><br></div><div>Basically I want to be able to use LLDB as a high-level API to inspect your own process, with all of the details of debug symbols, stack traversal, etc handled for you.</div><div><br></div><div>Thoughts?</div>