【问题标题】:GDB 7.3.1 on OSX LionOSX Lion 上的 GDB 7.3.1
【发布时间】:2012-06-21 01:05:07
【问题描述】:

我正在尝试使用 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。有谁知道这里发生了什么或我如何解决它。它是 没有调试器真的很难解决某些问题!

【问题讨论】:

    标签: c++ macos gdb osx-lion


    【解决方案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,这可能不被认为是错误修复,而是新功能,或者至少补丁没有回来移植到发布分支。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-14
      • 1970-01-01
      • 2012-09-03
      • 2012-03-31
      相关资源
      最近更新 更多