0

アプリケーションでクラッシュが発生しましたが、追跡できません。私が得ているログで:

[CFStringリリース]:割り当て解除されたインスタンス0xeb8a560に送信されたメッセージ

デバッグ中であっても、クラッシュを追跡できませんでした。ブレークポイントを配置してNSZombieを有効にしましたが、それでも役に立ちません。誰かがクラッシュの場所を取得するためのアイデアを持っていますか?

4

3 に答える 3

2

クラッシュの正確な場所を取得するには、「Exception BreakPoint」を追加する必要があります。これにより、クラッシュが発生した正確な場所にブレークポイントが追加されます。

xcode 4の左側の列:

  1. ブレークポイントタブ(6番目のタブ)をタップします
  2. ウィンドウの左下にある+ボタンをタップします
  3. 「例外ブレークポイントを追加」をタップします
  4. ポップアップで「完了」をタップします

Xcode4の「Run>StoponObjective-Cexception」を参照してください。

于 2012-05-16T07:44:39.500 に答える
1

文字列オブジェクトが解放されました。例外ブレークポイントを作成して、クラッシュする場所を見つけることができます。またbt、GDBで使用してクラッシュログを取得することもできます。

このリンクには、たくさんのトリックやヒントがあります。

于 2012-05-16T05:29:05.297 に答える
0

このタイプのエラー(クラスの保持/解放メモリ管理を使用)は、ZombiesInstrumentを使用してデバッグすることもできます。多くの場合(常にではありません)、割り当て解除されたオブジェクトが保持/解放された場所の履歴を確認し、なぜあなたの下から消えたのかを理解することができます。

于 2012-05-16T13:44:09.027 に答える