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