线程1:生成EXC_BAD_ACCESS(Code = 1,address = 0x30000008)问题

8 iphone xcode objective-c ios

我在模拟器上运行应用程序时遇到问题.问题:

EXC_BAD_ACCESS发生在线程1中的objc_msgSend.

截图:

在此输入图像描述

在我的应用程序中,我有多个ViewController.当我点击后退按钮UINavigationBar然后生成这种类型的问题时,我无法解释我的问题,因为所有功能都正常工作.

示例: -

1 - fitstVController(正常工作)

=>它有UITableView,当我点击特定的行然后它将继续另一个UIViewController(SecoundViewController)

2 - SecoundViewController(正常工作)

=>它有UITableView和UIActionSheet.当我选择UiActionSheet的按钮时,另一个UIViewController(ThirdViewController)打开

3 - ThirdViewController(正常工作)

=>它有UITableView和多个UIPickerView.但这里有问题,我不能回到上一个UIViewController(SecoundViewController).=>当我这样做然后 生成EXC_BAD_ACCESS(Code = 1,address = 0x30000008)问题.

小智 16

简而言之,当您释放分配给已释放的对象的内存时,会发生此类问题.最有可能的是,当您回到之前UIViewController(或其他情况)时会产生此类问题.

此外,我建议阅读以下链接以获得更全面的解释:

Hamster Emporium存档:所以你在objc_msgSend()中崩溃了


Tim*_*imD 5

设置异常断点意味着一旦引发异常,Xcode就会停止执行.它并非完全万无一失,但这通常会导致应用程序破坏导致问题的代码行.

这使得更容易找到问题的根源 - 尽管堆栈跟踪是诊断问题的最终方式,但它通常过于详细而无法使用(特别是如果像我一样,您不是编译器专家. )

要进行此设置,请单击Breakpoints"导航器"面板中的符号,然后单击+底部的按钮.然后选择Add Exception Breakpoint,并Objective-C从选项列表.