Ios (空)libc++;abi.dylib:terminate调用引发异常

Ios (空)libc++;abi.dylib:terminate调用引发异常,ios,xcode,ipad,objective-c-2.0,Ios,Xcode,Ipad,Objective C 2.0,我使用Xcode 4.5PR和iOS 6beta 2 我没有更改任何代码,我的应用程序抛出标题中提到的异常 我使用了导致此异常的调试窗口,但它显示 0x38dda960: push {r4, r5, r6, r7, lr} 我怎样才能找到问题?如何修复它?如果您没有更改任何内容,这可能只是与iOS 6测试版的当前状态有关 然而,对于那些在谷歌上搜索这个错误的人,这里有一些一般性的建议: 1)它可能是您选择为其构建相同代码的模拟器: 如果您没有更改任何源代码,请检查以确保您的方案仍然指向上

我使用Xcode 4.5PR和iOS 6beta 2

我没有更改任何代码,我的应用程序抛出标题中提到的异常

我使用了导致此异常的调试窗口,但它显示

0x38dda960:  push   {r4, r5, r6, r7, lr}

我怎样才能找到问题?如何修复它?

如果您没有更改任何内容,这可能只是与iOS 6测试版的当前状态有关

然而,对于那些在谷歌上搜索这个错误的人,这里有一些一般性的建议: 1)它可能是您选择为其构建相同代码的模拟器:

如果您没有更改任何源代码,请检查以确保您的方案仍然指向上次使用的模拟器。(例如,试图呈现一个模态视图控制器(
presentModalViewController:
),但忘记有条件地在iPad上使用popover可能会导致这种情况。)

2)如果堆栈跟踪和控制台没有帮助:

有时,堆栈中只有
main
UIApplicationMain
,这使得很难跟踪自己源代码中的错误。这可能是您正在调用或导致调用的本机框架方法出现故障的迹象


如果控制台中未列出任何方法或特定对象,并且堆栈跟踪未指向您自己类中的任何方法,请尝试将执行范围尽可能缩小到引发异常的点。在黑暗中选择断点时,我倾向于使用二进制搜索方法,选择一个轴心点,在执行顺序上下移动,并根据需要选择一个新的“中间点”。

确保您使用的是xcode的开发人员预览版本(4.5),而不是习惯性地打开发布版本(4.3.3)而且肯定有iOS测试版可以匹配
如果您尚未更新项目设置,则无法在iOS 6 beta版上运行应用程序。将项目设置更新到iOS 6后,应用程序将不再在iOS 5.x.x设备上运行。当我在对象I.s.o上设置一个contrain时,会发生此情况。将其指定到superview时,会出现此错误的原因


在更改了.h和.m文件中某些iboutlet变量的名称,但没有更改这些变量的脚本链接中的名称后,我出现了此错误。在重做链接后,一切又恢复正常。希望这能对你们中的一些人有所帮助。

有时,如果您只是缺少一个库,就会发生这种情况-我正在使用MKMapView制作一个快速示例应用程序,在我将MapKit.framework添加到我的项目之前出现了这个错误。

有时,当用户导入任何框架时会出现问题,所以也可以在资源文件夹的.pch文件中导入该框架希望能对你们中的一些人有所帮助。

在C++异常上设置断点,以查找抛出的位置。< /P>

这发生在我身上,当我在“其他链接器标志”中设置-ObjC时就消失了。

由于各种原因,可能会发生此异常。找到确切的根本原因的最佳方法是查看
控制台
。在这里,您可以找到如下文本:

***lorem ipsum lorem ipsum lorem ipsum
***第一次抛出调用堆栈:(0x1d16012 0x16c3e7e 0xa4ef96 0x607704 0x6079a2 0x606876 0x617cb5 0x618beb 0x60a698 0x2b81df9 0x2b81ad0 0x1C8BF5 0x1c8b962 0x1cbcbb6 0x1cbbf44 0x1CBBB1B 0x60617a 0x607ffc 0x1d1d 0x1c45)libc++abi.dylib:终止调用抛出异常


这里的文本
lorem ipsum
第一次抛出调用堆栈之前将精确指出抛出异常的确切原因。解决了这个问题,您就可以开始了。

当您从项目中手动删除情节提要并重新调整viewcontroller的用途以便在没有情节提要的情况下使用时,通常会出现此错误。确保您的视图控制器已添加到AppDelegate中窗口的根视图控制器,并且视图控制器init没有nib名称(因为您在删除情节提要时会删除该名称)-最重要的是,从pList文件中删除告诉应用程序故事板文件应该存在的行,例如“主故事板文件库名称(iPad)”或“主故事板文件库名称(iPhone)”。一旦这些都没有了,你的应用程序将停止寻找故事板,你将像一只金色的猎犬一样金黄

我把它卡住了很长一段时间,然后我发现我可以通过在所有异常上设置断点来获得异常的确切跟踪堆栈。谢谢。我使用调试窗口在所有异常上添加断点。它在上面提到的点停止了。您不会碰巧调用方法-setOpaque吧?@CodaFi,谢谢您的快速响应。我不使用setOpaque方法,也不在情节提要中更改不透明。这是我的堆栈跟踪。它在第二行“libobjc.A.dylib”objc_exception_throw:“0x38dda960:push{r4,r5,r6,r7,lr}”处停止。不,堆栈跟踪类似于导致崩溃的方法列表。就像基思的回答是真的一样。这是救命稻草!这样的转折点让我发现了真正的问题。