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

Andrew MacPherson andrew.macp at gmail.com
Tue Feb 18 23:54:16 PST 2014


That sounds great, just let me know when you feel the repo is in a good
state and I'll take another look. My preference is github (username
andrewmacp) but I'm open if you prefer something else. Talk soon!


On Tue, Feb 18, 2014 at 5:39 PM, Virgile Bello <virgile.bello at gmail.com>wrote:

> 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/2a2b34a4/attachment.html>


More information about the lldb-dev mailing list