<div dir="ltr">Hello,<div><br></div><div>6 months ago I worked on LLDB to add Windows process debugging support.</div><div><br></div><div>I had to put this project little bit aside for a little bit. Now that I have some more time to focus on that project again, I wanted to share what I have been doing so far, and hopefully as it gets more mature it would be great to have it merged in trunk later.</div>
<div><br></div><div>So far I pushed most of my changes on github:</div><div><a href="https://github.com/xen2/lldb/commits/msvc12">https://github.com/xen2/lldb/commits/msvc12</a><br></div><div><br></div><div>The most important commit is probably "Added ProcessWindows and DynamicLoaderWindows plugins.". Some of the commits might be only temporary (needed for debugging to work). Some others commits are trivial/minor and could probably be cherry-picked immediately in trunk.</div>
<div><br></div><div>It is far from being ready to be merged yet (unpolished commits, lot of file rearrange/rename, code sharing, cleanup and comments to do here and there).<br></div><div><br></div><div>Also, at the time (might have been fixed yet), I used Linux implementation as a guideline but noticed it didn't seem to work for multithreading (StopInfo mixing up each other). As a result I had to change some stuff to have multithreading working. That might be something that could be interesting to have back on Linux as well.</div>
<div><br></div><div>Status: I am now able to use LLDB as a library to actually debug real windows processes (including stack traces, variables, multithreading, etc...) on simple executables (compiled with either gcc with -gdwarf-2, or clang).</div>
<div><br></div><div>Note: I might force push the branch msvc12 on github since I want to rewrite some commits and rebase. If people are interested in helping, please let me know and I would stop doing that.</div><div><br>
</div><div>Hope it will help starting the effort to have a full debugging support on Windows!</div><div><br></div><div>Thanks</div></div>