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 回答