我试图将控制从一个 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/