Ger*_*ard 6 .net dll unmanaged
我的托管.net应用程序使用第三方.net库,它使用(通过PInvoke)非托管dll.我想知道哪些dll被加载了.我尝试使用"Process Explorer"和"Dependency Walker",但我只能看到托管的DLL.
And*_*tan 10
任何调试器都可以这样做(windbg例如) - 但是因为你很有可能包装Visual Studio我会谈论如何在那里做
将Visual Studio调试器附加到应用程序,记住只选择Native调试器,如下所示:

一旦你连接,点击Debug - > Break然后按下[CTRL] + [ALT] + [U]以显示模块窗口(它在某个地方的菜单上,但我找不到它!) - 这是从我的桌面三星Kies应用程序拍摄的示例(使用WPF):

在我的情况下,我也启用了托管调试器,并将进程名称移动到列列表的开头,以用于该屏幕截图.
如果进程名称: Native在它之后,则它是一个非托管DLL(好吧,它也可能是混合模式).
请注意,Windows 中的所有进程始终都会有很长的非托管DLL加载列表; 因为Windows的核心是无法管理的,并且是应用程序的最终主机.
但当然你可以使用这个列表作为起点并从那里过滤掉.