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?
Best regards,
Vadim