Mono-D 0.5.4.1 - Build, completion & other fixes + Unittests via rdmd

Bruno Medeiros brunodomedeiros+dng at gmail.com
Wed Oct 23 06:03:17 PDT 2013


On 22/10/2013 14:48, Iain Buclaw wrote:
>
> If you are using GCC, you'll be using the GCC toolchain.  If you are
> using MSVC, you'll be using the MSVC toolchain.  It's as black and
> white as that.
>
>

I know. The point, for me at least, was not weather I could use GCC + MS 
debuggers or MS compilers + GDB. It was: if you use DMD (64 bit ATM) 
what debuggers can you use? Can you sucessfully use GDB? If not, could 
DMD be modified to supported whatever format GDB uses?

 > Also, it's not likely DWARF debug information that it emits, as the
 > COFF object format defines its own intrinsic symbolic debug format.
 > GDB can't read CV8/PDB.

I think it's DWARF debug information, even for COFF and PE file format. 
If I run "info source" on a GDC compiled program, I get:
------
(gdb) info source
Current source file is ../../../gcc-4.6.1/libphobos/rt/dmain.d
Compilation directory is C:\crossdev\gdc\v2\build\i686-pc-mingw32\libphobos
Source language is d.
Compiled with DWARF 2 debugging format.
Does not include preprocessor macro info.
------

I suspect that what is happening is that by default GCC toolchain stores 
debug information in the COFF (and PE) file format in a non-standard way 
- it doesn't use the COFF debug standard but uses DWARF data format 
instead (DWARF "is independent of object file formats"). And that's why 
MS tools don't understand that symbolic info, I guess.


-- 
Bruno Medeiros - Software Engineer


More information about the Digitalmars-d-announce mailing list