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

Andrew MacPherson andrew.macp at gmail.com
Tue Feb 18 04:51:52 PST 2014


Hi Virgile,

This looks great! We had recently started on our own Windows Process plugin
implementation, porting code we had used in a simple custom debugger to
LLDB, however I think it would make sense to combine our efforts. I would
be happy to help stabilize what you have so far, I built locally from your
repo and much of the process control works great though I haven't had any
luck getting debug info in stack traces in a few simple apps built with gcc
(-gdwarf-2) or with clang using lldb.exe yet.

What we're aiming for is slightly different than you, we're mostly
interested in the ability to parse ELF/Dwarf debug info from code produced
by MCJIT since the bulk of our software currently needs to be compiled with
MSVC. This relies on a JIT support patch (currently for Linux) which hasn't
yet been submitted upstream, though your work here is probably the push
required for me to get that done.

I will take a pass through some samples on this end and take note of any
issues I come across and then start looking into them. Let me know how you
would like to coordinate work here (assuming you would like to coordinate)
and we can go from there.

Nice work!

Andrew


On Mon, Feb 17, 2014 at 4:27 PM, Virgile Bello <virgile.bello at gmail.com>wrote:

> 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
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20140218/474f176a/attachment.html>


More information about the lldb-dev mailing list