Debugging support for D - wiki

Rainer Schuetze r.sagitario at gmx.de
Mon Sep 23 23:16:41 PDT 2013



On 23.09.2013 21:50, Bruno Medeiros wrote:
> For DMD+Windows, is there only good debugger support with VisualD? :-(
> And how well does that work with 32/64 bit platform variations?

Current options that I know of for Windows:

- DMD/Win32+windbg(1996): This is a version of windbg from 1996 with 
very basic debugging support and is an embarrassment to be delivered 
with dmd.

- DMD/Win32+cv2pdb: cv2pdb allows conversion of the (often no longer 
supported) CodeView 4 debug info into pdb files and makes debugging 
available by most C/C++ debuggers. This is also used by Visual D when 
using the VS debugger. You can see a list features that work or don't 
work here: http://dsource.org/projects/cv2pdb/wiki/Features
For non-VS debuggers, most of the visualization extras for displaying 
strings, dynamic and associative arrays will not be available.

- DMD/Win32+mago: mago is a debug engine for Visual Studio explicitely 
for D. Most notably, it has watch support for D expressions whereas in 
other debuggers you usually have to know the C-representation. It can be 
used with/without Visual D, but things like the "Auto" window only work 
with language support by Visual D.

- DMD/Win64: dmd emits MS compatible debug information so that the 
appropriate PDB file is generated during linking and debugging is 
possible with most C/C++ debuggers. Debug info is not yet optimal, 
mostly because the VS debugger does not like '.' in names. (cv2pdb 
defaults to replacing it with '@').

- DMD/Win32+ddbg: ddbg is linked from the web site to 
http://ddbg.mainia.de/releases.html but this seems a dead link. Last 
time I tried ddbg some years ago it didn't work out too well for me 
(maybe it's mostly for D1).

- GDC+cv2pdb: cv2pdb is also able to convert DWARF debug information to 
PDB files. As DWARF is more complex than (documented) CodeView debug 
information, expect some more quirks than with


More information about the Digitalmars-d mailing list