アプリケーションがクラッシュすることなく、次のような多くのコンソール出力が得られます。
malloc:*オブジェクト0xc6a3970のエラー:解放されるポインターが割り当てられていませんでした*デバッグするためにmalloc_error_breakにブレークポイントを設定します
どのオブジェクトまたは変数が影響を受けているかを知るにはどうすればよいですか?
次のようにシンボリックブレークポイントを設定しようとしましたが、停止しません。
アプリケーションがクラッシュすることなく、次のような多くのコンソール出力が得られます。
malloc:*オブジェクト0xc6a3970のエラー:解放されるポインターが割り当てられていませんでした*デバッグするためにmalloc_error_breakにブレークポイントを設定します
どのオブジェクトまたは変数が影響を受けているかを知るにはどうすればよいですか?
次のようにシンボリックブレークポイントを設定しようとしましたが、停止しません。
回答:
ブレークポイントナビゲーター([表示]-> [ナビゲーター]-> [ブレークポイントナビゲーターの表示]または⌘7)を開き、左下隅のプラスボタンをクリックして、[シンボリックブレークポイントの追加]を選択して、malloc_error_break()にブレークポイントを設定します。表示されるポップアップmalloc_error_break
で、[記号]フィールドに入力して、[完了]をクリックします。
編集:openfrogはスクリーンショットを追加し、私が私の回答を投稿した後、彼はすでに成功せずにこれらの手順を試みたことを示しました。その編集では、何と言ったらよいかわかりません。私はそれが自分で機能しないことに気づかなかったし、実際、私は常にmalloc_error_breakセットにブレークポイントを設定している。
UIImage
ファイルにバックアップされていて、別の画像でファイルを上書きしていたことでした。これにより、UIImagePNGRepresentation
元の画像を呼び出したときにエラーが発生しました(ファイルが実際に上書きされたときではありません)。
⌘7
バーを...おそらく、あなたは意味しましたか⌘8
?
スクリーンショットでは、モジュールを指定していません。「libsystem_c.dylib」を設定してみてください
私はそれをしました、そしてそれは機能します:ブレークポイントはここで停止します(スタックトレースはしばしばいくつかのあいまいなシステムlibから上昇します...)
libsystem_malloc.dylib
。それは次のとおりです。ブレークポイントは、モジュールを指定しなくても機能します。
一部のフォルダ(特に/ usr / bin /)に書き込む必要のないアクセス許可を与えていたため、問題が発生しました。ディスクユーティリティを開き、Macintosh HDディスクで[ディスクのアクセス権を修復]を実行して修正しました。