www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Bug 146] New: Wrong filename in DWARF debugging information for templates

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/bugzilla/show_bug.cgi?id=146

           Summary: Wrong filename in DWARF debugging information for
                    templates
           Product: D
           Version: 0.157
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: me teqdruid.com


When a template is used, DMD puts the filename in which the template was
instianted into the DWARF debugging information, so one can't debug templated
code, which makes me a sad panda.  This might be a symptom of a large problem
along with bug #107.

Example:
teqdruid teqBook:~/workspace/test$ cat test1.d
import test2;

void main()
{
        t!().foo();
}teqdruid teqBook:~/workspace/test$ cat test2.d
template t()
{
        void foo()
        {
                Object o = null;
                o.toString(); //Segfault
        }
}teqdruid teqBook:~/workspace/test$ gdb test1
GNU gdb 6.3-debian
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...Using host libthread_db library
"/lib/tls/i686/cmov/libthread_db.so.1".

(gdb) run
Starting program: /home/teqdruid/workspace/test/test1 
[Thread debugging using libthread_db enabled]
[New Thread -1210018112 (LWP 9605)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1210018112 (LWP 9605)]
_D5test26__T1tZ3fooFZv () at test1.d:6
6       }Current language:  auto; currently minimal
(gdb) bt
#0  _D5test26__T1tZ3fooFZv () at test1.d:6
#1  0x0804bb4c in _Dmain () at test1.d:5
#2  0x0804ccf3 in main ()
(gdb)


-- 
May 18 2006
parent Thomas Kuehne <thomas-dloop kuehne.cn> writes:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

d-bugmail puremagic.com schrieb am 2006-05-18:
 When a template is used, DMD puts the filename in which the template was
 instianted into the DWARF debugging information, so one can't debug templated
 code, which makes me a sad panda.  This might be a symptom of a large problem
 along with bug #107.

Added to DStress as http://dstress.kuehne.cn/norun/d/debug_info_09_A.d (http://dstress.kuehne.cn/addon/debug_info_09_Z.d) Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFEbbPJ3w+/yD4P9tIRApW2AJ40H1o8PLLh8XY7tKmrR+FY0C4soACffiXO i7hTKXLfMyh+dAxFwJV6GsI= =73UH -----END PGP SIGNATURE-----
May 19 2006