windbg dump : 加载的 dll 的路径,只显示 dll 名称
windbg dump : path of loaded dll which only shows dll name
我正在尝试调试 dll 版本和路径的问题。
我有一个转储,它显示了 lmfsm
的输出,其中没有显示几个 dll 的路径。
其中一些 dll 是特定于应用程序的,所以我知道它们应该来自与 MainEXE
相同的文件夹,但我不确定其他的。
没有显示 dll present in same dir as main exe
(dllPresentInSameDirAsMainExe.dll) 和 dll coming from gac
(dll_from_gac.dll) 的路径。
因此,正在为 System.IO.COmpression.dll
选择哪个 dll,它也存在于我的本地 MainEXE
文件夹中。
0:000> lmfsm
00000000`00220000 00000000`00228000 MainEXE D:\ABCPATH\MainEXEPkg.Code.1.0.0.20200323.1\MainEXE.exe
00000000`1aab0000 00000000`1ac3c000 dllPresentInSameDirAsMainExe dllPresentInSameDirAsMainExe.dll
00000000`1db50000 00000000`1dbcc000 dll_from_gac Dll.From.GAC.dll
00000000`20350000 00000000`2036e000 System_IO_Compression System.IO.Compression.dll
00007ffb`d0250000 00007ffb`d025e000 System_IO_Compression_FileSystem_ni C:\Windows\assembly\NativeImages_v4.0.30319_64\System.IO.Cf61e09c5#\c4e0a673a512f8626f9b499f8574dc90\System.IO.Compression.FileSystem.ni.dll
00007ffb`d7700000 00007ffb`d8344000 System_ni C:\Windows\assembly\NativeImages_v4.0.30319_64\Systema8a818dfb2a81d684cd89cd3b83a80\System.ni.dll
那么,如何找到进程转储中加载的System.IO.Compression.dll
路径?
WinDbg 帮助说:
f
Displays the full image path. (This path always matches the path that is displayed in the initial load notification, unless you issued a .reload -s command.) When you use f, symbol type information is not displayed.
确实,.reload -s
似乎可以解决问题:
0:000> lmf
start end module name
00f50000 00f58000 DebuggingEnumDefinition DebuggingEnumDefinition.exe
71640000 71692000 MSCOREE C:\WINDOWS\SysWOW64\MSCOREE.DLL
74e50000 74eef000 apphelp C:\WINDOWS\SysWOW64\apphelp.dll
751a0000 7539e000 KERNELBASE C:\WINDOWS\SysWOW64\KERNELBASE.dll
759a0000 75a80000 KERNEL32 C:\WINDOWS\SysWOW64\KERNEL32.dll
777c0000 7795a000 ntdll ntdll.dll
0:000> .reload -s
......
0:000> lmf
start end module name
00f50000 00f58000 DebuggingEnumDefinition C:\...\bin\Debug\DebuggingEnumDefinition.exe
71640000 71692000 MSCOREE C:\WINDOWS\SYSTEM32\MSCOREE.DLL
74e50000 74eef000 apphelp C:\WINDOWS\SYSTEM32\apphelp.dll
751a0000 7539e000 KERNELBASE C:\WINDOWS\System32\KERNELBASE.dll
759a0000 75a80000 KERNEL32 C:\WINDOWS\System32\KERNEL32.dll
777c0000 7795a000 ntdll C:\WINDOWS\SYSTEM32\ntdll.dll
我正在尝试调试 dll 版本和路径的问题。
我有一个转储,它显示了 lmfsm
的输出,其中没有显示几个 dll 的路径。
其中一些 dll 是特定于应用程序的,所以我知道它们应该来自与 MainEXE
相同的文件夹,但我不确定其他的。
没有显示 dll present in same dir as main exe
(dllPresentInSameDirAsMainExe.dll) 和 dll coming from gac
(dll_from_gac.dll) 的路径。
因此,正在为 System.IO.COmpression.dll
选择哪个 dll,它也存在于我的本地 MainEXE
文件夹中。
0:000> lmfsm
00000000`00220000 00000000`00228000 MainEXE D:\ABCPATH\MainEXEPkg.Code.1.0.0.20200323.1\MainEXE.exe
00000000`1aab0000 00000000`1ac3c000 dllPresentInSameDirAsMainExe dllPresentInSameDirAsMainExe.dll
00000000`1db50000 00000000`1dbcc000 dll_from_gac Dll.From.GAC.dll
00000000`20350000 00000000`2036e000 System_IO_Compression System.IO.Compression.dll
00007ffb`d0250000 00007ffb`d025e000 System_IO_Compression_FileSystem_ni C:\Windows\assembly\NativeImages_v4.0.30319_64\System.IO.Cf61e09c5#\c4e0a673a512f8626f9b499f8574dc90\System.IO.Compression.FileSystem.ni.dll
00007ffb`d7700000 00007ffb`d8344000 System_ni C:\Windows\assembly\NativeImages_v4.0.30319_64\Systema8a818dfb2a81d684cd89cd3b83a80\System.ni.dll
那么,如何找到进程转储中加载的System.IO.Compression.dll
路径?
WinDbg 帮助说:
f
Displays the full image path. (This path always matches the path that is displayed in the initial load notification, unless you issued a .reload -s command.) When you use f, symbol type information is not displayed.
确实,.reload -s
似乎可以解决问题:
0:000> lmf
start end module name
00f50000 00f58000 DebuggingEnumDefinition DebuggingEnumDefinition.exe
71640000 71692000 MSCOREE C:\WINDOWS\SysWOW64\MSCOREE.DLL
74e50000 74eef000 apphelp C:\WINDOWS\SysWOW64\apphelp.dll
751a0000 7539e000 KERNELBASE C:\WINDOWS\SysWOW64\KERNELBASE.dll
759a0000 75a80000 KERNEL32 C:\WINDOWS\SysWOW64\KERNEL32.dll
777c0000 7795a000 ntdll ntdll.dll
0:000> .reload -s
......
0:000> lmf
start end module name
00f50000 00f58000 DebuggingEnumDefinition C:\...\bin\Debug\DebuggingEnumDefinition.exe
71640000 71692000 MSCOREE C:\WINDOWS\SYSTEM32\MSCOREE.DLL
74e50000 74eef000 apphelp C:\WINDOWS\SYSTEM32\apphelp.dll
751a0000 7539e000 KERNELBASE C:\WINDOWS\System32\KERNELBASE.dll
759a0000 75a80000 KERNEL32 C:\WINDOWS\System32\KERNEL32.dll
777c0000 7795a000 ntdll C:\WINDOWS\SYSTEM32\ntdll.dll