ios - 在 iOS 5.1 应用程序中;为什么我看不到异常?

标签 ios xcode4

我试图将控制从一个 TableViewController 传递给另一个 TableViewController,将其称为“A”,并将其称为“B”。即使我启用了“所有异常”,我仍陷入主线第 20 行:即: retVal = UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate 注意第 20 行最右侧是“线程 1:断点 1.3”,其值(value)不言而喻。

任何人都可以为我指明方向,帮助我了解导致程序停止的原因吗?

//
//  main.m
//  some function
//
//  Created by JJW on 3/23/12.
//  Copyright (c) 2012 JJW, LLC. All rights reserved.
//

#import <UIKit/UIKit.h>

#import "AppDelegate.h"

int main(int argc, char *argv[])
{
    @autoreleasepool {
        //return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
        int retVal = -1;
        @try 
        {
            retVal = UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
        }
        @catch (NSException* exception) 
        {
            NSLog(@"Uncaught exception: %@", exception.description);
            NSLog(@"Stack trace: %@", [exception callStackSymbols]);
        }
        return retVal;
    }
}

最佳答案

从项目导航器中选择断点选项卡。然后按底部的“+”添加断点。选择添加异常断点。确保检查异常断点、所有异常、抛出时中断。

现在,当您运行应用程序时,一旦抛出异常,它就会原地停止。这会让你看到你要打破的线。

更新 您可以尝试摆脱 try/catch 语句。我从来没有见过像这样在应用程序 main 中使用的。

int main(int argc, char *argv[]) {

    @autoreleasepool {
        int retVal = UIApplicationMain(argc, argv, nil, nil);
        return retVal;
    }
}

关于ios - 在 iOS 5.1 应用程序中;为什么我看不到异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10212677/

相关文章:

objective-c - 我可以通过映射模型从 CoreData 中的关系中删除对象吗?

ios - 在 Controller 中以编程方式创建 View 强与弱 subview

ios - ScrollView 限制一个边框

ios - colorWithPatternImage 在 io6 中不起作用?

c++ - 使用 Xcode 4 配置 googletest 的正确方法是什么?

iOS 使用 CAShapeLayer 绘制自定义形状

ios - 在 xcode4 中链接现有项目时出现问题

xcode - 有没有办法跳转到Xcode中的特定方法?

iphone - Xcode 4. 3's ' 估计的应用程序商店大小与 .ipa 文件有很大不同,为什么?

ios - 如何在 Xcode 4 中设置 UITableViewCell 标识符