OSX Lion上的GDB 7.3.1

时间:2012-06-19 01:51:36

标签: c++ macos gdb osx-lion

我正在尝试使用macport中的GDB(v 7.3.1)来调试用它编译的可执行文件 g ++ 4.7(也来自macports)。但是,我启动调试器,得到以下输出:

  

GNU gdb(GDB)7.3.1版权所有(C)2011 Free Software Foundation,Inc。   许可证GPLv3 +:GNU GPL版本3或更高版本   http://gnu.org/licenses/gpl.html这是免费软件:你是免费的   改变并重新分配它。在某种程度上没有任何保证   法律允许的。输入“show copying”和“show warranty”   细节。此GDB配置为“x86_64-apple-darwin11.2.0”。对于   错误报告说明,请参阅:   http://www.gnu.org/software/gdb/bugs/ ... BFD:无法读取未知   load命令0x24 BFD:无法读取未知加载命令0x26 BFD:   无法读取未知的加载命令0x24 BFD:无法读取未知   加载命令0x26

然后,每当我尝试回溯时,调试器都无法提供任何 有关堆栈的信息;我输出如下:

> #0  0x00000001085106d5 in ?? ()
> #1  0x000000010833d9b6 in ?? ()
> #2  0x0000000107e23000 in ?? ()
> #3  0x00007f828341f630 in ?? ()
> #4  0x00007f828341bc10 in ?? ()
> #5  0x00007f8283421950 in ?? ()
> #6  0x00007f8283427020 in ?? ()
> #7  0x00007f8283425510 in ?? ()
> #8  0x00007f82834195e0 in ?? ()
> #9  0x0000000100000001 in ?? ()
> #10 0x0000000100000000 in ?? ()

我使用调试符号构建,我可以调试可执行文件 Linux操作系统。有谁知道这里发生了什么,或者我怎么解决它。它的 没有调试器真的很难解决某些问题!

2 个答案:

答案 0 :(得分:1)

我对OSX或gdb的使用情况了解不多,但这似乎已经得到了很好的解决 在gdb 7.3.1发布之后,我似乎回想起OSX的发布和gdb或binutils的发布大约在同一时间,开发人员没有任何早期访问OS X.你可以尝试更高版本gdb。

我猜测7.3.1之后不久提交的以下补丁修复了它:

http://permalink.gmane.org/gmane.comp.gnu.binutils/54607

答案 1 :(得分:0)

GDB 7.4.1已修复此问题,您可以获取并构建它。

http://sourceware.org/gdb/wiki/BuildingOnDarwin