【问题标题】:Debug technique for debugging an unusual memory leak调试异常内存泄漏的调试技术
【发布时间】:2011-11-16 23:52:18
【问题描述】:

我有一个泄漏大量内存的 Windows 应用程序(旧版)。它不会泄漏私有字节,我只在进程资源管理器中看到它不断加载相同(局部)Windows dll-s 的许多实例。

有没有一种工具可以用来“捕捉” dll-s 映射到进程空间的时刻,以便我可以(使用应用程序符号)跟踪到源代码?

【问题讨论】:

  • 在进程监视器中,您可以获得每个记录操作的堆栈跟踪,因此您可以看到谁打开了某个文件。我不确定这对您的情况是否有用,因为如果 DLL 已经加载,我认为实际上不需要再次打开它们 - 但值得一试。
  • 如何在 procmon 中指定我想查看文件“iologgingmsg.dll”的打开情况?
  • 定义一个过滤器,例如:Path contains iologgingmsg.dll。如果噪音太大,可以尝试添加像Operation is CreateFile 这样的过滤器。
  • 是的,我看你是对的
  • @eran 您可以根据需要发布答案,这解决了我的问题:-)

标签: windows debugging resource-leak


【解决方案1】:

在 Process Monitor 中,您可以获得每个记录操作的堆栈跟踪,因此您可以查看谁打开了某个文件。定义一个过滤器,其中包括:Path contains iologgingmsg.dll。如果噪音太大,可以尝试添加像Operation is CreateFile 这样的过滤器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-01
    • 2021-01-10
    • 2010-11-23
    • 2018-11-22
    • 1970-01-01
    • 2011-03-21
    • 2013-09-28
    • 2010-10-14
    相关资源
    最近更新 更多