Hello,

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:
https://github.com/xen2/lldb/commits/msvc12

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
there).

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
clang).

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
Windows!

Thanks
_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to