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

Reply via email to