0

ある TableViewController からコントロールを渡そうとしています。それを「A」と呼び、別の TableViewController に「B」と呼びます。「すべての例外」を有効にしていても、メインの 20 行目でトラップしています: retVal = UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate NB on the far right of line 20 is "Thread 1: breakpoint 1.3インチの価値があります。

プログラムが停止する原因を特定するのに役立つ方向を誰か教えてもらえますか?

//
//  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;
    }
}
4

2 に答える 2

1

プロジェクト ナビゲーターから [ブレークポイント] タブを選択します。次に、下部の「+」を押してブレークポイントを追加します。[例外ブレークポイントの追加] を選択します。Exception Breakpoint がチェックされていること、All Exceptions、Break on throw を確認してください。

アプリを実行すると、例外がスローされるとすぐに停止します。これにより、ブレークしているラインを確認できます。

更新 try/catch ステートメントを削除してみることができます。アプリケーションのメインでそのように使用されているものを見たことがありません。

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

    @autoreleasepool {
        int retVal = UIApplicationMain(argc, argv, nil, nil);
        return retVal;
    }
}
于 2012-04-18T15:29:54.003 に答える
0

プロジェクト全体の再作成に 1 日を費やしました。新しいシロアリには例外があり、説明メッセージが付いています。だから、古いアプリは完全にめちゃくちゃだったと思います。

于 2012-04-19T23:31:09.853 に答える