在OSX Lion上使用GDB 7.3.1

4
我尝试使用来自Macports的GDB(版本为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:无法读取未知的加载命令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个回答

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


看起来7.3版本与OSX Lion同时发布,而对于7.3.1版本,这可能不被视为错误修复,而是一个新功能,或者至少该补丁没有被反向移植到发布分支。 - matt

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接