4

これは StackOverflow に関する私の最初の質問です。うまくいけば、それは適切なものです! 状況を説明するために、PresentViewController メソッドでカメラを開こうとすると、アプリケーションで奇妙なクラッシュが発生します。クラッシュ レポートを調べてみましたが、通話の詳細はなく、次のように 16 進数のみです。

 Thread 0 Crashed: 
 0   libsystem_kernel.dylib         0x38a97350 0x38a86000 + 70480
 1   libsystem_c.dylib              0x35d3a11e 0x35d0b000 + 192798
 2   libsystem_c.dylib              0x35d7696e 0x35d0b000 + 440686
 3   (project_name)                 0x00882968 0x1000     + 8919400
 4   (project_name)                 0x0083db7c 0x1000     + 8637308
 5   libsystem_c.dylib              0x35d43e90 0x35d0b000 + 233104
 6   UIKit                          0x39d40b00 0x39d3b000 + 23296
 7   QuartzCore                     0x34c52ff2 0x34c4c000 + 28658
 8   QuartzCore                     0x34c52fa2 0x34c4c000 + 28578
 9   QuartzCore                     0x34c52e8e 0x34c4c000 + 28302
 10  QuartzCore                     0x34c4e9ba 0x34c4c000 + 10682
 11  QuartzCore                     0x34c4e876 0x34c4c000 + 10358
 12  QuartzCore                     0x34c4e806 0x34c4c000 + 10246
 13  UIKit                          0x39d3fae8 0x39d3b000 + 19176
 14  UIKit                          0x39d4271e 0x39d3b000 + 30494
 15  UIKit                          0x39d84a6c 0x39d3b000 + 301676
 16  PhotoLibrary                   0x381c39ca 0x38157000 + 444874
 17  UIKit                          0x39d417fe 0x39d3b000 + 26622
 18  QuartzCore                     0x34c4fd5e 0x34c4c000 + 15710
 19  QuartzCore                     0x34c4f8fc 0x34c4c000 + 14588

とにかく、私のクラッシュ レポートは決定的ではないので (私の意見では)、iOS と NSZombieEnabled の通常のメモリの問題を処理する方法をグーグルで検索し、Guard Malloc を有効にすることについて言及しました。NSZombieEnabled は Monotouch でデフォルトで有効になっていますが、Guard Malloc を有効にする方法がどこにも見つかりませんでした。モノタッチでも可能ですか?ありがとうございました!

4

1 に答える 1

3

適切なスタック トレースがなければ、他のデバッグ ツールはほとんど役に立ちません。

クラッシュ レポートをシンボル化する必要があります。または、自分のレポートが正しくシンボル化されない理由を突き止める必要があります。通常、Xcode はこれを自動的に行います (クラッシュ レポートを開いてから数秒かかります) が、Spotlight がデバッグ情報を見つける必要があるため、Spotlight がプロジェクト ディレクトリのインデックスを作成していない場合、これは結果の 1 つです。ソリューション/プロジェクト/実行可能ファイルの名前が同一でない場合、シンボリック化が失敗することがあります。

また、デバイスのログも確認する必要があります。多くの場合、クラッシュの正確な理由がそこに出力されます (修正方法の説明も含まれています)。これまでにデバイス ログを見たことがない場合にデバイス ログを見つける方法のガイドを次に示します。

于 2012-11-27T23:20:34.813 に答える