Thanks Virgile, we were discussing this at the EuroLLVM meeting only a few
hours ago! :)
-----Original Message-----
From: "Virgile Bello" <[email protected]>
Sent: 08/04/2014 17:08
To: "Andrew MacPherson" <[email protected]>
Cc: "lldb-dev" <[email protected]>
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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev