.gdbinit配置文件与Xcode调试冲突

.gdbinit配置文件与Xcode调试冲突,xcode,debugging,macos,gdb,Xcode,Debugging,Macos,Gdb,我的主目录中有一个相当大的.gdbinit(因此没有复制到这里) 现在,如果我想调试Xcode内部的代码,我会遇到以下错误: Failed to load debugging library at: /Developer/Applications/Xcode.app/Contents/PlugIns/GDBMIDebugging.xcplugin/Contents/Resources/PBGDBIntrospectionSupport.A.dylib Custom data formatte

我的主目录中有一个相当大的.gdbinit(因此没有复制到这里)

现在,如果我想调试Xcode内部的代码,我会遇到以下错误:

Failed to load debugging library at:

/Developer/Applications/Xcode.app/Contents/PlugIns/GDBMIDebugging.xcplugin/Contents/Resources/PBGDBIntrospectionSupport.A.dylib

Custom data formatters are disabled.

Error message was:
0x1005c5 "dlopen(/Developer/Applications/Xcode.app/Contents/PlugIns/GDBMIDebugging.xcplugin/Contents/Resources/PBGDBIntrospectionSupport.A.dylib, 16): image not found" 
实际上,正如下文所述,调试仍在Xcode中工作,但数据格式化程序中断。移出.gdbinit或禁用数据格式化程序确实会使Xcode中的gdb恢复工作状态,但这显然是一件痛苦的事情(在第一种情况下包括数据格式化程序)

你知道gdbinit中的哪些设置会导致Xcode中的错误吗

回复中的注意:似乎(在谷歌搜索中)在链接wxWidgets库时可能会发生此错误。我不在这里做的事

注意:如果需要,我可以提供我的(long).gdbinit的副本


WIP:我将详细查看我的.gdbinit,看看是否可以缩小问题的范围。。。环顾我的Mac电脑,我看到那个库很好,看起来很正常

您是否尝试过使用dtrace查看发生错误时Xcode和GDB正在尝试执行的操作?

我的“简短”回答:
您可能已经注意到了这一点,但以防万一:

首先,即使当您看到错误时(假设您单击鼠标越过它并继续),您仍应该能够在Xcode中使用99%的调试功能。换句话说,该错误意味着对于给定的调试会话,只有一小部分特定的调试器被“破坏”。它并不意味着对给定的程序执行调试完全停止和/或不可能

鉴于上述事实,如果您只是想消除错误,而不关心自定义数据格式化程序是否正常工作,请删除以下菜单项旁边的复选标记:

  • 运行->变量视图->启用数据格式化程序
我的“长”答案是:
我办公室的开发人员已经经历了很长一段时间相同的Xcode错误,直到有人发现某些第三方库是原因

在我们的例子中,这个错误只发生在使用wxWidgets的项目中。我并不是说使用wxWidgets是唯一可能的原因。我只是想提供更多的信息,为您的案件找到正确的解决方案

同样有趣的是:我们(在我的办公室)在没有使用或存在任何.gdbinit文件的情况下得到了这个错误

事实证明,触发此错误的wxWidgets的“属性”与“dlopen”的“自定义/通用”实现有关。在Mac OS X 10.3之前, 操作系统中没有提供dlopen,因此显然有些库编写了自己的版本。当使用这些库时,显然尝试打开PBGDBIntrospectionSupport.A.dylib的dlopen调用可能会失败

此外,这里还有另一个相关链接:


实际上,您的错误与我使用wxWidgets时遇到的错误略有不同。我已经有一段时间没有发现dlopen冲突了,但我确实记得我必须在特定的调试会话中使用gdb本身来找出发生了什么。此外,由于wxWidgets问题,十六进制地址每次都不同


在gdb中,对错误消息中的十六进制地址调用“info symbol”。这可能会为您提供无法加载的详细信息。

非常好的回答,谢谢。事实上,我知道wxWidget问题(谷歌上仅有的几个结果),但我没有使用它。我还看到调试继续工作,只是破坏了数据格式化程序,这实际上是我需要的。我将详细查看我的gdbinit库也在我的库中,没有文件完整性问题(如果我删除gdbinit,Xcode调试完全有效)至于调试Xcode&gdb,如果我能成功地做到这一点,我可能会求助于它。