我正在尝试使用 macports 中的 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这是免费软件:您可以自由更改并重新分配它。在法律允许的范围内,不提供任何保证。键入“显示复制”和“显示保修”以了解详细信息。此 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 上很好地调试可执行文件。有谁知道这里发生了什么或我如何解决它。没有调试器真的很难解决某些问题!