2

Delphi 2009 デバッガーでアプリケーションを実行しているときに、アプリケーション フォームで何かを行うとすぐに (クリック、移動など)、Delphi はイベント ログに次のようなメッセージを表示し始めます (同様のメッセージ)。

Module Load: UNKNOWN_MODULE_59954.No DebugInfo. Base Address: $02D90000. Process MyApp.exe (5584)
Module Unload: UNKNOWN_MODULE_59954. Process MyApp.exe (5584)

UNKNOWN_MODULE の数はサイクルごとに増加するため、例では約 60000 のモジュールのロード/アンロードがありました。

このフラッドの間、アプリケーションは応答しません。続行するには、アプリケーションを終了する必要がある場合があります。

この原因の追跡を開始する方法はありますか?

4

1 に答える 1

6

「Arioch 'The」が示唆したように、Sysinternal のプロセス エクスプローラーをダウンロードして実行します。

  • [表示] メニューから [下部ペイン -> DLL (Ctrl+D)] を選択します。
  • プロセス ツリーでプロセスをマークする
  • 下のペインのヘッダーを右クリックし、[列の追加] を選択します。
  • DLL タブから「ベースアドレス」を選択します。
  • その列でモジュールを並べ替える
  • あなたのdllのベースアドレスを見つけてください - あなたはそれの名前を取得します:)

モジュールのアンロードが速すぎる場合は、[オプション] > [差分ハイライト期間] を 9 秒に設定します。

私の場合、それはodbcint.dllでした:

procMon - 不明なモジュールを見つける

また、念のため、PC のウイルス スキャンも実行してください :)

于 2012-10-11T17:50:30.130 に答える