On Saturday, 28 February 2015 at 08:06:59 UTC, Rainer Schuetze wrote:

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

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,

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?

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

To create IDebugPortSupplier2, I need at least GUID for class implementing it.

Reply via email to