我知道有一个实用程序,因为我曾经使用它...只是不记得名称。我正在寻找一个Windows(Windows-7)实用程序,它将允许我选择一个可执行映像运行,并告诉我该程序已加载哪些文件/dll,从哪个目录。我正在Visual Studio中编写软件,并希望在运行时验证我的程序正在加载哪些dll。
d7v8vwbk1#
Visual Studio做得很好。使用工具〉附加到进程,调试〉全部中断。然后调试〉窗口〉模块。对于VS2015+,从调试〉附加到进程开始。
xxb16uws2#
请使用Process Monitor或Process Explorer。
u0njafvf3#
命令行路由是来自Sysinternals的ListDLLs。它可以列出进程加载的DLL,也可以列出加载给定DLL的进程。
eeq64g8w4#
我们可以使用微软的tasklist来代替安装任何第三方工具。例如,要使用程序名显示加载的DLL,请执行以下操作:
tasklist
C:\>tasklist /m /fi "imagename eq PacketAnalyzerPlus.exe" Image Name PID Modules ========================= ======== ============================================ PacketAnalyzerPlus.exe 3904 ntdll.dll, wow64.dll, wow64win.dll, wow64cpu.dll
其中指定的选项如下:/m-列出加载了与给定模式名称匹配的DLL模块的所有任务。如果未指定模块名称,则此选项显示每个任务加载的所有模块。/fi-指定要包含在查询中或从查询中排除的进程类型。可以使用多个筛选器或使用通配符()指定所有任务或映像名称。如果是Windows服务,请使用筛选器services。例如,要查找服务Winmgmt的所有DLL,请使用以下命令:
services
Winmgmt
C:\>tasklist /m /fi "services eq Winmgmt" Image Name PID Modules ========================= ======== ============================================ svchost.exe 872 ntdll.dll, kernel32.dll, KERNELBASE.dll, msvcrt.dll, sechost.dll, RPCRT4.dll, ole32.dll, GDI32.dll, USER32.dll, LPK.dll, USP10.dll, IMM32.DLL, MSCTF.dll,...
4条答案
按热度按时间d7v8vwbk1#
Visual Studio做得很好。使用工具〉附加到进程,调试〉全部中断。然后调试〉窗口〉模块。对于VS2015+,从调试〉附加到进程开始。
xxb16uws2#
请使用Process Monitor或Process Explorer。
u0njafvf3#
命令行路由是来自Sysinternals的ListDLLs。
它可以列出进程加载的DLL,也可以列出加载给定DLL的进程。
eeq64g8w4#
我们可以使用微软的
tasklist
来代替安装任何第三方工具。例如,要使用程序名显示加载的DLL,请执行以下操作:其中指定的选项如下:
/m-列出加载了与给定模式名称匹配的DLL模块的所有任务。如果未指定模块名称,则此选项显示每个任务加载的所有模块。
/fi-指定要包含在查询中或从查询中排除的进程类型。可以使用多个筛选器或使用通配符()指定所有任务或映像名称。
如果是Windows服务,请使用筛选器
services
。例如,要查找服务Winmgmt
的所有DLL,请使用以下命令: