私はcorewlanフレームワークを使用して私のC ++コードから呼び出すために、目的のc wifiライブラリとその周りのacラッパーを作成しました。タイマーをセットアップし、タイマーの有効期限が切れると、すべてのwifiネットワークの詳細を提供するライブラリのscanwifi関数を呼び出します解放されたオブジェクトの malloc エラーに不正なチェックサムを与えることで、プログラムがクラッシュし続けます。クラッシュは一貫しておらず、ランダムな場所に表示され続けます。メモリのバグを見つけるために Guard の malloc を試し、プログラムを 10 時間以上実行したままにしましたが、クラッシュしませんでした。ガードmallocを削除してプログラムを実行するとすぐに、クラッシュが発生しました。誰でもこのメモリバグをキャッチする方法を教えてくださいありがとう
1253 次
1 に答える
1
メモリ管理エラーは、追跡が特に困難な場合があります。コードを見ずに言うのは難しいです。
GuardMalloc について言及しましたが、他のDiagnosticsを有効にしてみましたか?
- 落書き
- ガードエッジ
- ガード・マロック
- ゾンビオブジェクト
これにより、コードのクラッシュが予測しやすくなり、デバッグに役立ちます。できればエラーの原因に近づけることができます。
(Xcode 4.4.1 では、これらは「製品」->「スキームの編集」->「実行」->「診断」で設定されます。)
于 2012-09-02T10:58:09.087 に答える