0

重複の可能性:
Xcode malloc エラー

次のメッセージが原因で、ゲームがクラッシュすることがありました。

malloc: *** error for object 0x65cfcd4: incorrect checksum for freed object - object was probably modified after being freed.
*** set a breakpoint in malloc_error_break to debug

アドバイスどおり、Instruments で Allocations ツールを実行してリークを見つけ、NSZombie 検出を有効にしました。実行中にゾンビをチェックしているとのことでした。

しかし、アプリがクラッシュし、何もキャッチされません。

ゾンビが捕まえない理由は?

ありがとう。

4

2 に答える 2

2

アドバイスはゾンビを有効にすることではなく、ゾンビは Objective-C のみであり、mallocメモリを割り当てる C の方法であり、ゾンビ ツールはこれらのエラーをキャッチしません。ブレークポイントを設定し、スタック トレースを調べてエラーを解決します。reallocfreemalloc_error_break

于 2011-08-27T15:15:10.043 に答える
0

派手になりすぎずに、すべてのfree通話を削除して、問題が解決するかどうかを確認できます。プロジェクトがそれほど大規模でない場合、これは、使用する「プロのツール」よりも高速である可能性があります。free問題が解決した場合は、通話を 1 つずつ差し込むだけで、答えが明らかになります。

cocos2d を使用している場合は、これらの「無料」の呼び出しをすべて削除するだけです。C のメモリ割り当ては間違いやすいものです。

于 2011-08-27T15:24:29.223 に答える