Welcome to Mago Debugger

Mago Debugger is a set of libraries and a Visual Studio plug-in for debugging D programs on Windows. The main goal is to provide a complete Windows debugger dedicated to the D programming language. A secondary goal is to serve as a base for debugging native programs in any language.

Index

Status

Although the software is in an alpha state and is missing several features, it does offer end-to-end source-level debugging with expression evaluation and disassembly thru Visual Studio. The debugger directly reads the debug information that's output by the DMD compiler in CodeView 4.10 format.

The supported language is the second version of D. With respect to the source language, the debugger libraries are written in C++; but the goal is to port them to D.

News

2014/08/03. Mago has been a great project to work on. I'm quite happy that I built this debugger, and that I could contribute to the D programming language. I've learned a lot, because of it.

Unfortunately, I find that the demands of a family, in particular a toddler, are not compatible with an intensive project such as this. That is why I've encouraged Rainer to continue the project. He has forked it at github (https://github.com/rainers/mago). Though I can no longer take part in Mago's development, I'm available to answer questions about its design.

2012/02/15. After a stressful move to New York from Seattle, I'm back in business.

2011/03/26. I checked in the slides from the talk at the Northwest C++ User Group. See changeset:43. Also, Bartosz recorded it. Now, onto the code!

2011/01/29. I checked in the document. Check out changeset:40. Now comes the presentation.

2010/12/08. There hasn't been much activity here. That's because I'm working on documentation for the debugger and a presentation. I'll post it here when I'm finished. Then I can start going down the To-Do list again. In the meantime, let me know of any high priority bugs you would like me to look at.

When debugging programs compiled with DMD release 2.049, no locals or parameters show up, and evaluating expressions fails. The problem is with the linker (v 8.00.7) that comes with that release. To fix it, use an updated linker from here: http://ftp.digitalmars.com/link.8.00.8.zip.

Mago Debugger is now included in Visual D, thanks to the work of Rainer Schuetze. Please see the debugger tour about how to install and enable it.