Mago Debugger

Rainer Schuetze r.sagitario at gmx.de
Mon Aug 23 00:26:12 PDT 2010


This is really impressive work.

I gave it a try, compilation worked fine with a few hickups (mainly due 
to taking some random (almost compatible) stdint.h/inttypes.h and 
placing it into mago/include, so a few projects needed to have an 
additional include search path).

Still, I think it is a bit troublesome for people to build MaGo from 
source if they are not used to work with the Visual Studio 
Extensibility, so you should consider providing some precompiled binaries.

There is an installation issue with the addin: MagoDELauncher.Addin 
declares utf-16 encoding, but it looks more like utf-8. Without changing 
that, Visual Studio 2008 rejects the addin for me.

Integration with Visual D is not working yet. I changed the debugger 
GUID, it loads the mago debug engine DLLs, but it returns an error. If 
you can give me a hint where IVsDebugger::LaunchDebugTargets ends up in 
the engine, I can investigate further...

Trying the Launch addin, the Visual D projects are listed with empty 
names (I fixed this), but cannot be launched (no OutputGroups from 
Visual D, I guess I need to fix that, too).

Loading an executable as a project and launching it with the addin works 
fine, but I had no luck setting breakpoints. Using "asm { int3; }" 
activates the debugger and shows shows correct source code association. 
Unfortunately the local variables are listed without name and values, 
only the icon.

Looking forward to getting these issues resolved,
Rainer


Aldo Nunez wrote:
> I've checked in Mago Debugger -- a set of libraries and a Visual Studio 
> plug-in for debugging D 2 programs on Windows.
> 
> You can find it at:
>   http://dsource.org/projects/mago_debugger
> 
> Here's a quick set of features:
> 
>   * Starting and stopping a debug session
>   * Source level step-in, step-over, and step-out
>   * Breakpoints by source line
>   * Module and thread views
>   * Callstack
>   * Memory and Register views
>   * Locals view
>   * Watch views
>   * Disassembly
> 
> It uses the CodeView debug info that DMD puts in exes, not the PDB 
> format. But, I do want to support PDB format so that you can step into 
> Microsoft C and C++ code from your D code.
> 
> It doesn't have a command line interface, but I encourage you to make 
> one that can be included with this project.
> 
> Try it out and take a look at the source code. I'd like to hear your 
> feedback and see your bug reports.
> 


More information about the Digitalmars-d-announce mailing list