2

我正在使用 OSX 10.8.2 和 gdb 6.3。我必须同时使用 xcode 4.6.1 和 xcode 3。

我有一个简单的 c 可执行文件,我试图通过命令行附加 gdb。但我无法给出断点。一旦连接了 gdb,我就会得到以下几行。

unable to read unknown load command 0x2b
unable to read unknown load command 0x80000022
unable to read unknown load command 0x24
unable to read unknown load command 0x2a

我看了一下,发现 gdb 6.3 几乎没有可能发生上述情况的错误。所以我想将gdb更新到7.6。即使这没有发生。我为安装 gdb 7.6 所做的步骤

./congigure
make 
make install

make 以下面几行结尾

make[8]: Nothing to be done for `all-am'.
make[1]: Nothing to be done for `all-target'.

使用以下行进行安装

make[11]: Nothing to be done for `install-data-am'.
make[1]: Nothing to be done for `install-target'.

我想要 xcode 3,4.6 以及命令行支持的 gdb。请帮助解决这个问题。

4

2 回答 2

1

它们只是警告,您可以忽略它们。您使用的 gdb 二进制文件不包含这些加载命令的定义(LC_DYLD_INFO_ONLY,LC_VERSION_MIN_MACOSX等,请参阅/usr/include/mach-o/loader.h),并且在解析包含它们的 Mach-O 二进制文件时会抱怨它们。Xcode 4.6 中包含的 gdb 将在没有警告的情况下处理这些,fwiw。

于 2013-08-17T02:58:37.730 回答
0

正如我可以通过 make 命令输出得出的那样,您的程序已编译且未更改。所以你必须对make clean你的代码再试一次。确保您正在编译带有-ggcc 参数的代码,以将 C 的符号表链接到可执行文件,以便为 gdb 提供调试所需的参数。所以,你必须看看makefile。

于 2013-08-12T16:51:42.393 回答