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

Virgile Bello virgile.bello at gmail.com
Tue Feb 18 08:39:13 PST 2014


Hello,

Sure, that would be great to combine effort! Quite happy people are willing
to join, it's quite a huge task. And your goal being little bit different
is good to have more test cases and features.
I'm quite open about how to coordinate. On my side, I think I just need a
few days to clean up and rearrange commits little bit more before starting
a proper branch, then we could start to work from that?

Where would you prefer to work? SVN? Github?

Actually I have never tried lldb.exe directly, I use it as a library, so I
didn't really expect it to work -- good to know process control was OK at
least!
Also, some scenarios that used to work for me 6 months ago don't work
anymore now, so that might be related as well. I'll try to fix those
regressions quickly so that your work doesn't bump into them.


On 18 February 2014 21:51, Andrew MacPherson <andrew.macp at gmail.com> wrote:

> 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/20140219/9209fa0a/attachment.html>


More information about the lldb-dev mailing list