0
我在调试一些Windows API和堆栈跟踪显示Unloaded_hext.dll
。我无法找到这个DLL。即使没有符号,WinDbg也会输出这个DLL名称。进程监视器无法找到此dll。使用已知模块的WinDbg
为什么'未加载'前缀?这是由WinDbg完成还是有任何技巧?
在运行lm
命令时,我可以在卸载的模块部分看到hext.dll
。但是,如果它被卸载,那么为什么它会被堆栈跟踪显示?
我在调试一些Windows API和堆栈跟踪显示Unloaded_hext.dll
。我无法找到这个DLL。即使没有符号,WinDbg也会输出这个DLL名称。进程监视器无法找到此dll。使用已知模块的WinDbg
为什么'未加载'前缀?这是由WinDbg完成还是有任何技巧?
在运行lm
命令时,我可以在卸载的模块部分看到hext.dll
。但是,如果它被卸载,那么为什么它会被堆栈跟踪显示?
WinDBG跟踪模块,即使它们已经被卸载以便于调试。
通常,这些卸载的模块不应显示在堆栈跟踪中。如果他们这样做,卸载发生时,模块仍在使用(FreeLibrary不会阻止)。这个过早的卸载因此是你的代码中的一个bug。
事实上,它不是我的代码。我只是在Windows API的现有窗口进程上进行一些调试。 – anand 2009-06-22 09:31:07