[lldb-dev] ProcessWindows plugin (allow Windows process debugging)

Virgile Bello virgile.bello at gmail.com
Mon Feb 17 07:27:50 PST 2014


6 months ago I worked on LLDB to add Windows process debugging support.

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.

So far I pushed most of my changes on github:

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.

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

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.

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

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.

Hope it will help starting the effort to have a full debugging support on

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20140218/590f2212/attachment.html>

More information about the lldb-dev mailing list