如何查找加载到进程中的DLL及其位置等

如何查找加载到进程中的DLL及其位置等,dll,process,Dll,Process,我使用过Process Explorer,但我忘记了另一个实用程序,它可以让您查看进程从映像文件加载到哪里,它是内存中的dll,以及它们从哪里加载 Process Explorer for me仅适用于托管程序集 任何可以同时实现本机功能的功能?Process Explorer应该向您显示本机模块和托管模块。试着把它抬高 否则,有几种方法: 使用tlist.exe,即程序包的一部分,例如tlist cmd.exe 连接VS调试器并查看模块窗口Ctrl+Alt+U或连接WinDbg并使用lm命令

我使用过Process Explorer,但我忘记了另一个实用程序,它可以让您查看进程从映像文件加载到哪里,它是内存中的dll,以及它们从哪里加载

Process Explorer for me仅适用于托管程序集


任何可以同时实现本机功能的功能?

Process Explorer应该向您显示本机模块和托管模块。试着把它抬高

否则,有几种方法:

使用tlist.exe,即程序包的一部分,例如tlist cmd.exe 连接VS调试器并查看模块窗口Ctrl+Alt+U或连接WinDbg并使用lm命令 使用和推出您自己的解决方案:
还有一个开源工具

这是一个高级任务管理器。 选择任何进程,点击回车键,选择模块选项卡。

来自Windows Sysinternals的命令行工具,可执行您所需的操作:

Listdlls.exe notepad.exe或Listdlls.exe 11524给出:

不带参数的Listdlls.exe输出所有运行进程的DLL

------------------------------------------------------------------------------
notepad.exe pid: 11524
Command line: "C:\WINDOWS\system32\notepad.exe"

Base                Size      Path
0x00000000bfae0000  0x38000   C:\WINDOWS\system32\notepad.exe
0x00000000aee10000  0x1f5000  C:\WINDOWS\SYSTEM32\ntdll.dll
0x00000000ad4c0000  0xbd000   C:\WINDOWS\System32\KERNEL32.DLL
0x00000000ac9a0000  0x2c8000  C:\WINDOWS\System32\KERNELBASE.dll
<snip>
0x0000000093580000  0xf9000   C:\WINDOWS\SYSTEM32\textinputframework.dll
0x00000000aebc0000  0x6b000   C:\WINDOWS\System32\WS2_32.dll
0x00000000aaf00000  0x33000   C:\WINDOWS\SYSTEM32\ntmarta.dll
<snip>
------------------------------------------------------------------------------
notepad.exe pid: 11524
Command line: "C:\WINDOWS\system32\notepad.exe"

Base                Size      Path
0x0000000093580000  0xf9000   C:\WINDOWS\SYSTEM32\textinputframework.dll