无法在OSX -unable中附加gdb来读取未知的加载命令

时间:2013-08-12 14:06:02

标签: c xcode macos cocoa gdb

我使用的是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。请帮忙解决这个问题。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我可以用make命令输出你的程序编译而不是改变。因此,您必须make clean您的代码并重试。确保使用gcc的-g参数编译代码,将C的符号表链接到可执行文件,以便为gdb提供调试所需的参数。所以,你必须看一下makefile。