我的主目录中有一个相当庞大的.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库时可能会发生此错误.我不在这里做的事情.
注意:如果需要,我可以提供我的(长).gdbinit的副本
WIP:我将在我的.gdbinit上查看详细信息,看看我是否可以缩小问题范围
您可能已经注意到了这一点,但以防万一:
首先,即使你看到那个错误,(假设你点击它并继续),你仍然可以使用 Xcode中99%的调试功能.换句话说,该错误意味着对于给定的调试会话,只有调试器的非常小的特定部分被"断开".它并不意味着调试对给定程序执行完全放下和/或不可能的.
鉴于上述事实,如果您只是想摆脱错误并且不关心自定义数据格式化程序是否正常工作,则删除以下菜单项旁边的复选标记:
运行 - >变量视图 - >启用数据格式化程序
我的办公室的开发人员已经经历了相同的Xcode错误很长一段时间,直到有人发现某些第三方库是原因.
在我们的例子中,此错误仅发生在使用wxWidgets的项目中.我并不是说暗示使用wxWidgets是唯一可能的原因.我只是想提供更多可能为您的案例提供正确解决方案的信息.
同样感兴趣的是:我们(在我的办公室)收到此错误,没有任何使用或存在任何.gdbinit文件.
事实证明,导致此错误的wxWidgets的"属性"与"dlopen"的"自定义/通用"实现有关.在Mac OS X 10.3之前,操作系统中没有提供dlopen,因此显然有些库编写了自己的版本.当使用这样的库时,显然尝试打开PBGDBIntrospectionSupport.A.dylib的dlopen调用可能会失败.
阅读有关此sourceforge补丁提交的评论,以了解有关10.3及更高版本中dlopen的更多详细信息.
另外,这是另一个相关链接:
有关PBGDBIntrospectionSupport和自定义数据格式化程序的Xcode用户邮件列表上的消息