DlangIDE

Rainer Schuetze via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Sat Feb 28 00:07:00 PST 2015



On 26.02.2015 11:17, Vadim Lopatin wrote:
> On Wednesday, 18 February 2015 at 08:21:19 UTC, Rainer Schuetze wrote:
>>
>>
>> On 17.02.2015 20:41, Vadim Lopatin wrote:
>>> It looks like we need to develop some universal debugger library.
>>> For linux, it can use gdb as a backend.
>>> For windows - I'm not sure. Is there any console debugger which can
>>> debug dmd generated executables? I've checked windbg shipped with dmd,
>>> but it looks like it is GUI, and cannot be used as backend via console.
>>> Trying to play with my own implementation of debugger using win32 API.
>>>
>>> Probably there is already some debugger interface written in D?
>>
>> On Windows, there is mago (https://github.com/rainers/mago), a debug
>> engine that integrates with Visual Studio, but it's actually not
>> limited to that. It might be rather complicated to host it, though,
>> you'll have to interface with IDebugEngine2 and all its subclasses
>> (https://msdn.microsoft.com/en-us/library/bb145310.aspx).
>>
>> If you want a text interface, the Debugging Tools for Windows
>> (https://msdn.microsoft.com/en-us/windows/hardware/hh852365) also
>> contain cdb, a command line version of windbg (forget about the one
>> distributed with dmd). For Win32, you'll have to convert the old
>> CodeView debug info written by optlink to PDB format using cv2pdb,
>> though.
>
> Trying to integrate MAGO.
> I can easy create instance of MAGO DebugEngine, but having problems with
> obtaining of IDebugPort which is needed for invoking of LaunchSuspended.
> It looks like to get IDebugPort, I need IDebugCoreServer2 instance.
> Does anybody know how to do it?

I suspect that is implemented by the Visual Studio debugger. Have you 
tried creating an IDebugPortSupplier2?
https://msdn.microsoft.com/en-us/library/bb145819.aspx

It might also only be possible from within Visual Studio, though. To 
host a debug engine you might have to implement these yourself...


More information about the Digitalmars-d-announce mailing list