www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ldc - Debugging symbols broken on Windows

reply "Mikko Ronkainen" <mikoro iki.fi> writes:
Using LDC 0.12.1 binary distribution from github on Windows 8.1 
64-bit. Using the mingw recommended in the readme.

hello.d:
---
import std.stdio;

void main()
{
     writeln("Hello, World!");
     readln();
}
---

ldc2 hello.d -g
gdb hello.exe
GNU gdb (rubenvb-4.8.0) 7.5.91.20130322-cvs
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show 
copying"
and "show warranty" for details.
This GDB was configured as "i686-w64-mingw32".
For bug reporting instructions, please see:
<mingw-w64-public lists.sourceforge.net>...
Reading symbols from hello.exe...DW_FORM_strp pointing outside of 
.debug_str section [in module hello.exe]
(no debugging symbols found)...done.

ldc2 hello.d
gdb hello.exe
GNU gdb (rubenvb-4.8.0) 7.5.91.20130322-cvs
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show 
copying"
and "show warranty" for details.
This GDB was configured as "i686-w64-mingw32".
For bug reporting instructions, please see:
<mingw-w64-public lists.sourceforge.net>...
Reading symbols from hello.exe...done.


The debugging doesn't work with gdb and for example Intel vtune 
profiler crashes when trying to read the debug info. I wonder why 
gdb doesn't complain of missing debug info when omitting the -g 
flag.

On linux things seem to work fine.
Dec 20 2013
parent "Kai Nacke" <kai redstar.de> writes:
Hi Mikko!

On Friday, 20 December 2013 at 13:38:57 UTC, Mikko Ronkainen 
wrote:
 Reading symbols from hello.exe...DW_FORM_strp pointing outside 
 of .debug_str section [in module hello.exe]
 (no debugging symbols found)...done.
This sounds like a LLVM problem placing the debug info in the wrong location. I try to check this with LLVM 3.4 (the binary distribution is compiled with LLVM 3.3). Regards, Kai
Dec 20 2013