On 24/05/2016 07:34, Rainer Schuetze wrote:



On 17.05.2016 10:06, Vadim Lopatin wrote:
Hello,

I'm working on GDB/MI compatible interface for Mago debugger on Windows.

GDB/MI is line based machine interface for debugger. IDEs are using GDB
via this interface.

GDB/MI docs: https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI.html

Project page (mago fork) https://github.com/buggins/mago

Currently mago-mi supports subset of GDB commands enough for current
DlangIDE functionality.

Tested on DMD generated 32bit executables.

See readme details list of implemented commands:
https://github.com/buggins/mago/tree/master/MagoMI/mago-mi

Difference from baseline https://github.com/rainers/mago files are
minimal:
- Static linking for MagoNatDE and MagoNatEE
- Disabled some Mago debug logging

Building mago-mi from source is easy. I've tried MS Visual Studio 2013
and 2015. Don't forget to edit properties in mago/PropSheets. Buld
mago-mi project.

Since DlangIDE v0.6.1, it includes prebuilt mago-mi.exe (it will be
copied into bin directory by dub build) and default Debugger settings
are changed from gdb to mago-mi by default on Windows. If you already
used DlangIDE on your computer, check Edit/Preferences/Debugger setting
- change to "mago-mi" if "gdb" is specified.

If you want to try mago-mi and DlangIDE which is using it, you can
download binaries from
https://sourceforge.net/projects/crengine/files/DlangUI/dlangide-v061-magomi-v010-x86.zip/download

(or just sync to latest dlangide and use `dub run`). Bundle includes
DlangIDE, mago-mi, dub, and sample workspaces (helloworld and tetris).
Download size is 5.4Mb (seems small enough for IDE+debugger).

I hope my work will be useful for other IDE developers who is targeting
on Windows.
(Any IDE which uses gdb/mi interface)
I tried gdb and lldb-mi before, but did not managed to find working
compiler + debugger configuration. (Best combination was gdb + gdc, but
it was showing global variables instead of locals. For lldb-mi, I
haven't managed to find compiler which produces compatible debug info).

Best regards,
    Vadim


Impressive work!

I'm currently working on improving integration in VS. For this, I also
needed a static library version of MagoNatDE. I just pushed my changes,
I hope it doesn't break anything for you.

If you want to stay in sync, please consider a PR with your changes to
mago.


Can Mago debug programs with debug information in the COFF format? If not, any chance this could be added, or is it a big task?

--
Bruno Medeiros
https://twitter.com/brunodomedeiros

Reply via email to