iPadアプリケーションのクラッシュを追跡するのに苦労しています。この問題は、アプリケーションが失敗したときにエラーやスタックトレースが存在しないという事実に起因しています。それは単にKeizerSozeのように消え去り、「そしてそのように、うんざりしている。彼は去った」。
シミュレーターとデバイスの両方でクラッシュを再現しました。デバイスログはゼロで、コンソールには何もありません。
クラッシュ中に、いくつかのCoreGraphics
操作がバックグラウンドスレッドで発生していることを私は知っています。通常、3つほどのNSOperationsがいくつかの画像ブレンドを開始します。
ブレンディングは、CGContext *呼び出し(DrawImage、SetBlendMode、SetAlphaなど)で構成されます。NSOperationは、メインスレッドのデリゲートを呼び出してイメージを処理し、に設定するためUIImage
、UIメインスレッドの競合ではないはずですが、現時点では何も割り引いていません。
何が起こっているのかを正確に追跡するために私が見逃しているXcodeのトリックはありますか?または、少なくとも問題がどこにあるかについてのより良いヒントを得ますか?
編集私はメモリ使用量を追跡するInstrumentsでアプリを実行しましたが、2MB前後でかなり安定していることがわかりました。だから、それがメモリの問題だとは思わないでください。しかし、検討の結果、この安定した2MBは異常に低いようです。InstrumentsがCoreGraphicsの割り当てを取得していない可能性はありますか?