0

トリガーされたアクセス違反エラーを追跡したいと思います。

スレッドが作成され、いくつかのジョブが実行されます。「同期」せずにVCLまたは変数にアクセスすると思われます。Madexcept レポートは、フォームを閉じる (form1.close;) ときにアクセス違反が発生することを示していますが、それ以上の精度はありません。

多くのコード行があります (約 100.000)。

時間をかけすぎないようにするにはどうすればよいですか? デバッガーオプションで「範囲チェック」にチェックを入れました。

どうもありがとう

4

2 に答える 2

1

本当に知りたい場合は、デバッグ DCU を使用してプロジェクトをビルドし、例外が発生したポイントの直前にブレークポイントを配置できます。

これで、VCL コードにジャンプして、うまくいけば何が問題なのかを確認できます。

しかし、クローズまたはデストラクタでのアクセス違反は、多くの場合、オブジェクトの二重解放が原因です。たとえば、フォームによっても解放されるコンポーネントを解放します (フォームによって所有されているため)。

于 2012-07-06T21:52:28.433 に答える
0

SafeMMを試してください。エラーをより早く見つけるのに役立ちます。これが詳細な説明をするビデオです。ただし、このMMはデバッグ専用であり、ソフトウェアのリリースバージョンで有効にしないでください。

于 2012-07-07T10:55:19.767 に答える