On Wednesday, 18 May 2016 at 18:02:12 UTC, Bruno Medeiros wrote:
While DDT technically work oks with GDB (the GDB from mingw-w64
that is), you are right, there isn't a compiler on Windows that
supplies debug info in the way GDB understands. See
https://wiki.dlang.org/Debuggers.
DMD produces debug info COFF or OMF format, which GDB doesn't
know anything about (nor ever will). LDC should in theory work
with DWARF info, but this is broken somehow. Not because of
LLVM though, since for example Rust on Windows works. As for
GDC, it doesn't even supply binaries for Windows (that target
Windows) - it is not a supported platform.
BTW, Eclipse/DDT should in theory work with mago-mi as well, at
least if the protocol is implemented correctly. Have you tried
it? I dunno how complete your MI implementation is.
So it looks like mago-mi might be helpful for DDT on Windows.
mago-mi supports subset of GDB/MI commands enough for DlangIDE,
but it can be easy extended.
Currenlty supported commands can be shown using help command (use
--interpreter=mi2 when running mago-mi, otherwise it will print
non-MI commands). Also commands are listed in readme file
https://github.com/buggins/mago/blob/master/MagoMI/mago-mi/README.md
I didn't try DDT with mago-mi, and so I'm not sure which commands
must be supported by debugger to get it working with DDT.
To get list of commands DDT tries to use you can either add
--log-file=magomi.log --log-level=TRACE to mago-mi command line
or use debug build of mago-mi.
It will all STDIN data to log file, and report errors for
unsupported commands.