【问题标题】:WinDbg using known moduleWinDbg 使用已知模块
【发布时间】:2009-06-22 07:45:59
【问题描述】:

我正在调试一些 Windows API,堆栈跟踪显示 Unloaded_hext.dll。我找不到这个 DLL。即使没有符号,WinDbg 也会输出这个 DLL 名称。进程监视器找不到这个 dll。

为什么要加上'unloaded'前缀?这是WinDbg做的还是有什么技巧?

在运行lm 命令时,我可以在卸载模块部分看到hext.dll。但是,如果它被卸载,为什么它会被堆栈跟踪显示?

【问题讨论】:

    标签: debugging dll windbg


    【解决方案1】:

    WinDBG 甚至在模块已被卸载后仍会跟踪它们,以使调试更容易。

    通常,那些卸载的模块不应该出现在堆栈跟踪中。如果他们这样做,卸载发生在模块仍在使用时(FreeLibrary 不会阻止)。因此,这种过早卸载是您代码中的一个错误。

    【讨论】:

    • 其实这不是我的代码。我只是在现有窗口进程上对 Windows API 进行一些调试。
    猜你喜欢
    • 1970-01-01
    • 2012-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-08
    • 1970-01-01
    相关资源
    最近更新 更多