I don't think MIEngine will help with support for the PDB debugging format.  It 
allows Visual Studio to use lldb to drive a Visual Studio debugging session, 
but in this mode all the symbol & debug reading work is off-loaded to lldb.  

It is possible to do a hybrid model where the low level debugger doesn't do 
symbol reading, and some other driver tells it "what it needs to know". For 
instance, this is the way the OS X port of MetroWerks' CodeWarrior was 
implemented.  But that was a real pain to support.  There are times 
particularly down in the bowels of the stepping machinery where you really need 
symbol information.  This never worked really well.

Jim


> On Jul 20, 2015, at 7:03 PM, Mukul Sabharwal <mjsa...@gmail.com> wrote:
> 
> FYI if you're still looking, Microsoft published the source code for
> the MIEngine that is essentially a Visual Studio Debugger Extension
> that implements the Core Debug Interfaces
> (https://msdn.microsoft.com/en-us/library/bb146305.aspx)
> 
> It can talk to LLDB and GDB.
> 
> https://github.com/Microsoft/MIEngine
> 
> On Tue, Apr 7, 2015 at 11:02 AM, Greg Clayton <gclay...@apple.com> wrote:
>> There seems to be an DWARF to PDB converter here:
>> 
>> https://github.com/rainers/cv2pdb
>> 
>> Not sure how good it is or what the license looks like...
>> 
>>> On Apr 7, 2015, at 10:19 AM, Colin Riley <co...@codeplay.com> wrote:
>>> 
>>> I think that's what I used. Hence why I want lldb C# bindings! But yeah. 
>>> Horridly underdocumented.
>>> From: Zachary Turner
>>> Sent: ‎07/‎04/‎2015 18:10
>>> To: Colin Riley; lldb-dev@cs.uiuc.edu
>>> Subject: Re: [lldb-dev] [LLVMdev] PDB support in LLVM
>>> 
>>> Btw the python tools project doesn't use Dbgeng extensibility model, it's a 
>>> newer richer extensibility framework that is even less documented (most 
>>> people probably wouldn't even know it exists) but much more powerful. And 
>>> it's all in managed code, so you get the c# stuff for free.
>>> 
>>> But still, 4-5 weeks seems very aggressive
>>> On Tue, Apr 7, 2015 at 9:48 AM Colin Riley <co...@codeplay.com> wrote:
>>> You could try extending the codeview and then relying on the ms linker to 
>>> emit a pdb from it (last time I checked it converts on the fly - this may 
>>> have changed recently, and what it converts may not be fully featured).
>>> 
>>> The Debug Engine extensibility for visual studio is, as Zach says, not well 
>>> documented at all. Despite that, in the past I have had LLDB chatting in a 
>>> limited way to visual studio. It was incredibly messy, and the way I chose 
>>> to do it was go from Visual Studio -> c# -> c++/CLI -> C++ lldb api. Don't 
>>> do it that way if you attempt it: Create lldb C# bindings instead and go 
>>> that direction. I've been looking at that lately but it's a side project so 
>>> cant be relied on if you need it quickly.
>>> 
>>> As for the time frame, 4-5 weeks isn't going to get far given the lack of 
>>> documentation. The debug engine samples don't go far enough in terms of 
>>> requiring a native C++ environment.
>>> 
>>> Colin
>>> 
>>> 
>>> On 07/04/2015 17:25, Zachary Turner wrote:
>>>> It sounds like if you have a time frame of 4-5 weeks, you've got a tall 
>>>> order cut out for yourself.  I don't want to say impossible, but... that's 
>>>> pretty rough.
>>>> 
>>>> I think you've got two options:
>>>> 1) Try to figure out how to emit PDB.  The format is undocumented, so 
>>>> you're kind of on your own here.
>>>> 2) Try to figure out how to get Visual Studio to understand DWARF.  Visual 
>>>> Studio has a reasonably rich extensibility model which is also not very 
>>>> well documented, so you're probably on your own here as well.  You may 
>>>> want to have a look at PythonTools for Visual Studio.  It's entirely open 
>>>> source and adds Python debugging to Visual Studio.  Obviously you don't 
>>>> need to be able to debug Python, but it's the best source of documentation 
>>>> I know of for extending Visual Studio in this kind of way so maybe it will 
>>>> help.  If you end up doing this, it would be great if you could try to 
>>>> upstream it back to LLDB.  Visual Studio integration with LLDB would be 
>>>> nice to have.
>>>> 
>>>> On Mon, Apr 6, 2015 at 5:02 PM Rohan Bajaj <rohanbaja...@gmail.com> wrote:
>>>> Moving to lldb-dev per suggestion.
>>>> 
>>>> Using Visual Studio is only criteria for us. It could be DWARF or PDB.
>>>> 
>>>> But I need to implement this soon (4-5 weeks from now). What do you 
>>>> recommend?
>>>> 
>>>> Zachary do you also suggest using LLDB on Windows?
>>>> 
>>>> 
>>>> On Mon, Apr 6, 2015 at 4:35 PM, Zachary Turner <ztur...@google.com> wrote:
>>>> 
>>>> 
>>>> On Mon, Apr 6, 2015 at 4:16 PM Chandler Carruth <chandl...@google.com> 
>>>> wrote:
>>>> On Mon, Apr 6, 2015 at 3:46 PM Rohan Bajaj <rohanbaja...@gmail.com> wrote:
>>>> Is making PDB files for corresponding IR supported in LLVM latest version?
>>>> 
>>>> Not today.
>>>> 
>>>> 
>>>> After some searching I see llvm-pdbdump, but I want to annotate the IR 
>>>> with debug information so that when I write bitcode it has pdb information.
>>>> 
>>>> I've heard of CodeView, but it seems to be only for line information. I 
>>>> want variable values also.
>>>> 
>>>> I would be ok to use DWARF if Visual Studio could understand it using LLDB 
>>>> but I don't know how to do that or if it is support.
>>>> 
>>>> Zach (CC-ed) and others are actively working on making LLDB work well on 
>>>> Windows, including reading DWARF debug information on Windows and 
>>>> potentially integration with Visual Studio (although I think that is 
>>>> further away at the moment). However, further discussion might be better 
>>>> on the LLDB mailing lists.
>>>> 
>>>> It's worth pointing out that CodeView is **not** only for line 
>>>> information. It's for everything.  It's just that LLVM currently only 
>>>> understands a subset of CodeView record types related to line information.
>>>> 
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> lldb-dev mailing list
>>>> 
>>>> lldb-dev@cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>>> 
>>> --
>>> - Colin Riley
>>> Senior Director,
>>> Parallel/Graphics Debugger Systems
>>> 
>>> _______________________________________________
>>> lldb-dev mailing list
>>> lldb-dev@cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>>> _______________________________________________
>>> lldb-dev mailing list
>>> lldb-dev@cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>> 
>> 
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev@cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
> 
> _______________________________________________
> lldb-dev mailing list
> lldb-dev@cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev


_______________________________________________
lldb-dev mailing list
lldb-dev@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to