1

无法在设备的 Instruments 中找到 Zombie。

我能够在 Instruments for Simulator 中找到 Zombie 但无法找到设备,由于添加了第三方 api,我的应用程序只能在设备上运行。

我如何追踪导致崩溃的原因"message sent to deallocated instance "

我只想找到导致此崩溃的确切实例(或代码行)。

4

2 回答 2

0

僵尸崩溃的一些原因:
1.控制实例被清除后控制委托响应较晚。
2. 线程内部使用的实例在清除后尝试修改实例。

所以妥善处理委托

  1. 在删除视图控制器时将控制委托设为 nil,如下所示:

    - (void)viewDidDisappear:(BOOL)animated
    {
        [self.mapView setDelegate:nil];
        [_webView setDelegate:nil];
    }
    
于 2013-09-06T07:30:39.453 回答
0

虽然,当 XCode 返回“Message sent to deallocated instance”错误消息时,它通常也会告诉 Object 发送该错误的对象。
无论如何,您可以使用以下内容找到导致错误的确切行:

对XCode中的所有异常使用异常断点。 添加异常断点: 1. 转到 BreakPoint Navigator 2. 在底部有一个加号。点击它。 3. 您将获得两个选项:Add Exception Breakpoint... 和 Add Symbolic BreakPoint... 选择 Exception Breakpoint。




于 2013-09-06T07:06:51.630 回答