[lldb-dev] ProcessWindows plugin (allow Windows processdebugging)

Virgile Bello virgile.bello at gmail.com
Tue Apr 8 09:16:10 PDT 2014


Nice, wish I was there!


On 9 April 2014 01:11, Colin Riley <colin at codeplay.com> wrote:

>  Thanks Virgile, we were discussing this at the EuroLLVM meeting only a
> few hours ago! :)
>  ------------------------------
> From: Virgile Bello <virgile.bello at gmail.com>
> Sent: 08/04/2014 17:08
> To: Andrew MacPherson <andrew.macp at gmail.com>
> Cc: lldb-dev <lldb-dev at cs.uiuc.edu>
> Subject: Re: [lldb-dev] ProcessWindows plugin (allow Windows
> processdebugging)
>
> Sorry, took me some time to get around it, but I have finally took the
> time to:
> - Commit as many trivial changes as possible into LLDB trunk.
> - Update my code to latest LLDB changes.
> - Rearrange the rest and put them on github for review and accept external
> help/contributions.
>
> https://github.com/xen2/lldb
>
> Feel free to contact me if you want commit access!
> (Andrew, I added you as collaborator)
>
> Some of the commits that affects LLDB might need review and be delayed,
> but the main commit that adds ProcessWindows should probably be merged soon
> to avoid divergence and make contributions easier.
>
>
>
> On 19 February 2014 16:54, Andrew MacPherson <andrew.macp at gmail.com>wrote:
>
>> 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/20140409/58aed9e0/attachment.html>


More information about the lldb-dev mailing list