C 无法在OSX中连接gdb-无法读取未知加载命令

C 无法在OSX中连接gdb-无法读取未知加载命令,c,xcode,macos,cocoa,gdb,C,Xcode,Macos,Cocoa,Gdb,我使用的是OSX10.8.2和GDB6.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

我使用的是OSX10.8.2和GDB6.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
我目不转睛地看了看,发现GDB6.3几乎没有发生上述情况的bug。所以我想把gdb升级到7.6。甚至这种情况也没有发生。 我安装GDB7.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'.
使用下面的行进行安装

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。请帮助解决此问题。

我可以通过make命令输出了解到,您的程序已编译且未更改。因此,您必须将代码清理干净,然后再试一次。确保您正在使用gcc的
-g
参数编译代码,以将C的符号表链接到可执行文件,以便为gdb提供调试所需的参数。所以,您必须查看makefile。

它们只是警告,您可以忽略它们。您正在使用的gdb二进制文件没有包含这些加载命令的定义(
LC\u DYLD\u INFO\u ONLY
LC\u VERSION\u minu\u MACOSX
,等等,请参见
/usr/include/mach-o/loader.h
),它在解析包含它们的mach-o二进制文件时会抱怨这些命令。Xcode 4.6中包含的gdb将在没有警告的情况下处理这些问题,fwiw。

安装MacPorts并键入
sudo port安装gdb
@trojanfoe-我在MacPorts gdb下也遇到过这种情况。不,实际上我无法使用断点进行调试。我认为这是因为这些警告“它们只是警告,你可以忽略它们…”-当调试器上出现segfault时,它们很难忽略:)
无法读取未知加载命令0x24无法读取未知加载命令0x24无法读取未知加载命令0x29分段错误:11