Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
D2和gdb发行_Gdb_Debugging_D - Fatal编程技术网

D2和gdb发行

D2和gdb发行,gdb,debugging,d,Gdb,Debugging,D,简短问题:gdb中是否有D2的支持(我有GDB7.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



简短问题:gdb中是否有D2的支持(我有GDB7.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; vnm@vnm:~/proj/d_gdb_测试$gdb main GNU gdb(gdb)7.2-ubuntu 版权所有(C)2010免费软件基金会。 许可证GPLv3+:GNU GPL版本3或更高版本 这是自由软件:您可以自由更改和重新发布它。 在法律允许的范围内,不存在任何担保。键入“显示复制” 和“显示保修”了解详细信息。 此GDB配置为“i686 linux gnu”。 有关错误报告说明,请参阅: ... 从/home/vnm/proj/d_gbb_test/main读取符号…完成。 (gdb)b干管 0x804b667处的断点1 (gdb)r 启动程序:/home/vnm/proj/d_gbb_test/main [已启用使用libthread_db的线程调试] 主()中的断点1,0x0804b667 (gdb)信息行 没有可用的行号信息。 (gdb)信息变量glVar 与正则表达式“glVar”匹配的所有变量: 文件main.d: int_D4main5glVari;
为什么gdb不能显示行信息,为什么它以损坏的形式显示符号?这是软件问题还是我做错了什么?

gdb从7.2版开始支持D。因此,您可以使用GDB7.2调试D程序


现在,这并不意味着支持是完美的——事实上远远不是。例如,我不确定您是否可以让它正确地打印字符串。如果它不需要D符号,这一点也不奇怪。所以,它是可行的,但还远远不够完美。

这可能与此相关:digitalmars.D.learn新闻组中的一些主题澄清: