0
私のアプリが情報なしでクラッシュすると、ゾンビオブジェクトとmallocのくすぐりがオンになり、エラーポイントをキャッチしようとします。 ゾンビオブジェクトでもうクラッシュしません。 ゾンビオブジェクトとmallocのくりじりをオフにすると、クラッシュが再び発生します。 どのようにして障害ポイントを捕まえることができますか?何か案は?「ゾンビオブジェクト」でクラッシュが消えてしまうのはなぜですか?
私のアプリが情報なしでクラッシュすると、ゾンビオブジェクトとmallocのくすぐりがオンになり、エラーポイントをキャッチしようとします。 ゾンビオブジェクトでもうクラッシュしません。 ゾンビオブジェクトとmallocのくりじりをオフにすると、クラッシュが再び発生します。 どのようにして障害ポイントを捕まえることができますか?何か案は?「ゾンビオブジェクト」でクラッシュが消えてしまうのはなぜですか?
クラッシュは「ダングリングポインタ」(リリースされた後にメッセージを送信するオブジェクト)によって引き起こされます。
ゾンビがオンになっていると、は公開されていませんそれがゾンビと呼ばれる理由です!したがって、ぶら下がっているポインタはありません。代わりに、すべてのオブジェクトがリークします。漏れがクラッシュを引き起こすことはなく、ぶら下がったポインタがないので、クラッシュはなくなる。
ゾンビを使用していない場合、オブジェクトがにリリースされたときに、メッセージを送信しているオブジェクトを理解する機会を与えることがポイントです。
クラッシュについて何かを説明するのが役立つと確信しています。繰り返し可能か、ユーザーの入力に反応するかなどです。 – Noumenon
ヒント:私は自分のアプリでフォンコールを受け取ったときに何が起こるかをテストしています。 – Kira
ゾンビをオンにすると、ダングリングポインタの使用を示す素敵なデバッガメッセージに置き換えられているダングリングの結果、アプリがクラッシュします。ゾンビオブジェクトへのアクセスについてデバッグコンソールにエラーが表示されていないと言っていますか?それは、問題がぶら下がったポインタから来たものではなく、むしろ何か他のものである可能性があるという仮説をいくらか悪化させる。だから、(a)本当にあなたがゾンビにメッセージを見ていないことを確認してください。 (b)なぜあなたがポインタを持っていると思うか教えてください。スタックトレースとクラッシュに関するより多くの技術情報が役立ちます。 – Rob