D2和gdb问题



简短的问题:在gdb中是否支持D2(我有gdb 7.2)?

长话短说:我编了下一个小应用程序......


// file main.d
int glVar = 0xAAAAAAAA;

void main()
{ 
 glVar = 0xBBBBBBBB; 
}

...使用命令“dmd -gc -debug main.d”;
然后我将它加载到gdb并尝试调试它:

vnm@vnm:~/proj/d_gdb_test$ gdb main
GNU gdb (GDB) 7.2-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
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-linux-gnu".
For bug reporting instructions, please see:
...
Reading symbols from /home/vnm/proj/d_gbb_test/main...done.
(gdb) b main
Breakpoint 1 at 0x804b667
(gdb) r
Starting program: /home/vnm/proj/d_gbb_test/main 
[Thread debugging using libthread_db enabled]

Breakpoint 1, 0x0804b667 in main ()
(gdb) info line
No line number information available.
(gdb) info variables glVar
All variables matching regular expression "glVar":

File main.d:
int _D4main5glVari;

为什么gdb无法显示行信息,以及为什么它显示符号格式错误? 这是软件问题还是我做错了什么?


gdb支持D从7.2开始。 所以,你可以用gdb 7.2来调试D程序。

现在,这并不意味着支持是完美的 - 事实上远非如此。 例如,我不确定你能否正确打印字符串。 如果它不去除D符号,这并不令人意外。 所以,它有效,但它远非完美。

链接地址: http://www.djcxy.com/p/49701.html

上一篇: D2 and gdb issue

下一篇: Weird Error In Program