www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.debugger - Debugger options

reply Gyula Gubacsi <gyula.gubacsi gmail.com> writes:
Hi,

Can somebody update me on how the compiler/debugger implementations
are going on the 3 main platforms? What are you using, which is the
most useful for D applications? To my knowledge, the situation is like
this:
* Windows: DMD-> producing CodeView debug info format. -> No GDB support.
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Old version of WinDBG i=
s in the D bundle.
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 GDC ?
* Linux: DMD/GDC-> producing DWARF debug info format -> Very limited
GDB support as GDB has no explicit D support. How does that work with
the C style debug info? Is both GDC and DMD reliable on producing
correct debug info?
* Mac: I have no experience on this platform but the situation must be
something similar to Linux.
32/64bit: Are there any limitation if the executable is 64bit?

Could someone fill the gaps for me?

Thanks

Gyula Gubacsi
Feb 01 2012
next sibling parent Jacob Carlborg <doob me.com> writes:
On 2012-02-01 11:31, Gyula Gubacsi wrote:
 Hi,

 Can somebody update me on how the compiler/debugger implementations
 are going on the 3 main platforms? What are you using, which is the
 most useful for D applications? To my knowledge, the situation is like
 this:
 * Windows: DMD->  producing CodeView debug info format. ->  No GDB support.
                    Old version of WinDBG is in the D bundle.
                   GDC ?
 * Linux: DMD/GDC->  producing DWARF debug info format ->  Very limited
 GDB support as GDB has no explicit D support. How does that work with
 the C style debug info? Is both GDC and DMD reliable on producing
 correct debug info?
 * Mac: I have no experience on this platform but the situation must be
 something similar to Linux.
 32/64bit: Are there any limitation if the executable is 64bit?
GDB and DWARF is used on Mac OS X as well. 32/64bit is not a problem on Mac OS X, almost all libraries and tools are available in both 32 and 64bit variants. -- /Jacob Carlborg
Feb 01 2012
prev sibling parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
Hi,

On 01.02.2012 11:31, Gyula Gubacsi wrote:
 Hi,

 Can somebody update me on how the compiler/debugger implementations
 are going on the 3 main platforms? What are you using, which is the
 most useful for D applications? To my knowledge, the situation is like
 this:
 * Windows: DMD->  producing CodeView debug info format. ->  No GDB support.
                    Old version of WinDBG is in the D bundle.
                   GDC ?
With the help of cv2pdb (http://dsource.org/projects/cv2pdb) the dmd generated debug information can be converted to a pdb file, so you can use most C++ debuggers including Visual Studio. Visual D (http://www.dsource.org/projects/visuald) includes cv2pdb, but also mago (http://dsource.org/projects/mago_debugger). mago is a Visual Studio debug engine that works directly on the dmd generated debug info, but still misses some features of other debuggers. There is also ddbg (http://ddbg.mainia.de/) which integrates with other IDEs, but it is no longer updated. I don't know how well it works with recent dmd releases. The next Visual D/cv2pdb version will feature gdc support including debugging (cv2pdb will convert the DWARF info to pdb). Rainer
Feb 01 2012
parent reply Gyula Gubacsi <gyula.gubacsi gmail.com> writes:
Thanks for your answer.

I am aware of the Visual D's solution for debugging but I'm actually
looking for a candidate debugger for integrating in to DDT, so these
solutions won't work for me.

On 1 February 2012 21:39, Rainer Schuetze <r.sagitario gmx.de> wrote:
 Hi,


 On 01.02.2012 11:31, Gyula Gubacsi wrote:
 Hi,

 Can somebody update me on how the compiler/debugger implementations
 are going on the 3 main platforms? What are you using, which is the
 most useful for D applications? To my knowledge, the situation is like
 this:
 * Windows: DMD-> =A0producing CodeView debug info format. -> =A0No GDB
 support.
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Old version of WinDBG is in the D bu=
ndle.
 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0GDC ?
With the help of cv2pdb (http://dsource.org/projects/cv2pdb) the dmd generated debug information can be converted to a pdb file, so you can us=
e
 most C++ debuggers including Visual Studio.
 Visual D (http://www.dsource.org/projects/visuald) includes cv2pdb, but a=
lso
 mago (http://dsource.org/projects/mago_debugger). mago is a Visual Studio
 debug engine that works directly on the dmd generated debug info, but sti=
ll
 misses some features of other debuggers.

 There is also ddbg (http://ddbg.mainia.de/) which integrates with other
 IDEs, but it is no longer updated. I don't know how well it works with
 recent dmd releases.

 The next Visual D/cv2pdb version will feature gdc support including
 debugging (cv2pdb will convert the DWARF info to pdb).

 Rainer
Feb 01 2012
parent reply "Zachary Lund" <admin computerquip.com> writes:
On Wednesday, 1 February 2012 at 22:05:16 UTC, Gyula Gubacsi 
wrote:
 Thanks for your answer.

 I am aware of the Visual D's solution for debugging but I'm 
 actually
 looking for a candidate debugger for integrating in to DDT, so 
 these
 solutions won't work for me.

 On 1 February 2012 21:39, Rainer Schuetze <r.sagitario gmx.de> 
 wrote:
 Hi,


 On 01.02.2012 11:31, Gyula Gubacsi wrote:
 Hi,

 Can somebody update me on how the compiler/debugger 
 implementations
 are going on the 3 main platforms? What are you using, which 
 is the
 most useful for D applications? To my knowledge, the 
 situation is like
 this:
 * Windows: DMD->  producing CodeView debug info format. -> 
  No GDB
 support.
                   Old version of WinDBG is in the D 
 bundle.
                  GDC ?
With the help of cv2pdb (http://dsource.org/projects/cv2pdb) the dmd generated debug information can be converted to a pdb file, so you can use most C++ debuggers including Visual Studio. Visual D (http://www.dsource.org/projects/visuald) includes cv2pdb, but also mago (http://dsource.org/projects/mago debugger). mago is a Visual Studio debug engine that works directly on the dmd generated debug info, but still misses some features of other debuggers. There is also ddbg (http://ddbg.mainia.de/) which integrates with other IDEs, but it is no longer updated. I don't know how well it works with recent dmd releases. The next Visual D/cv2pdb version will feature gdc support including debugging (cv2pdb will convert the DWARF info to pdb). Rainer
http://zerobugs.codeplex.com/ ?
Feb 09 2012
parent Gyula Gubacsi <gyula.gubacsi gmail.com> writes:
I'm not sure man, because it seems that it is only available for Linux. I'm
leaning towards GDB (used with GDC on Windows) as it is well established,
multiplatform and will definitely stay around for a while. I'm open for
ZeroBugs though but I need a working Windows version which could be used
against a DMD produced executable.

On 9 February 2012 17:10, Zachary Lund <admin computerquip.com> wrote:

 On Wednesday, 1 February 2012 at 22:05:16 UTC, Gyula Gubacsi wrote:

 Thanks for your answer.

 I am aware of the Visual D's solution for debugging but I'm actually
 looking for a candidate debugger for integrating in to DDT, so these
 solutions won't work for me.

 On 1 February 2012 21:39, Rainer Schuetze <r.sagitario gmx.de> wrote:

 Hi,


 On 01.02.2012 11:31, Gyula Gubacsi wrote:

 Hi,

 Can somebody update me on how the compiler/debugger implementations
 are going on the 3 main platforms? What are you using, which is the
 most useful for D applications? To my knowledge, the situation is like
 this:
 * Windows: DMD->  producing CodeView debug info format. ->  No GDB
 support.
                   Old version of WinDBG is in the D bundle.
                  GDC ?
With the help of cv2pdb (http://dsource.org/projects/**cv2pdb<http://dsource.org/projects/cv2pdb>) the dmd generated debug information can be converted to a pdb file, so you can use most C++ debuggers including Visual Studio. Visual D (http://www.dsource.org/**projects/visuald<http://www.dsource.org/projects/visuald>) includes cv2pdb, but also mago (http://dsource.org/projects/**mago<http://dsource.org/proj cts/mago>debugger). mago is a Visual Studio debug engine that works directly on the dmd generated debug info, but still misses some features of other debuggers. There is also ddbg (http://ddbg.mainia.de/) which integrates with other IDEs, but it is no longer updated. I don't know how well it works with recent dmd releases. The next Visual D/cv2pdb version will feature gdc support including debugging (cv2pdb will convert the DWARF info to pdb). Rainer
http://zerobugs.codeplex.com/ ?
Feb 10 2012