2009-06-22 47 views
0

我在调试一些Windows API和堆栈跟踪显示Unloaded_hext.dll。我无法找到这个DLL。即使没有符号,WinDbg也会输出这个DLL名称。进程监视器无法找到此dll。使用已知模块的WinDbg

为什么'未加载'前缀?这是由WinDbg完成还是有任何技巧?

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

回答

1

WinDBG跟踪模块,即使它们已经被卸载以便于调试。

通常,这些卸载的模块不应显示在堆栈跟踪中。如果他们这样做,卸载发生时,模块仍在使用(FreeLibrary不会阻止)。这个过早的卸载因此是你的代码中的一个bug。

+0

事实上,它不是我的代码。我只是在Windows API的现有窗口进程上进行一些调试。 – anand 2009-06-22 09:31:07