windows – 记录进程加载的DLL

前端之家收集整理的这篇文章主要介绍了windows – 记录进程加载的DLL前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想将记录添加到我们的单元测试中,这些测试记录了他们使用的DLL以及它们的加载位置.

我可以从Sysinternals ListDLL获取我需要的信息,但是我需要在测试过程运行时运行它,并且我最终会遇到竞争条件:例如,ListDLLs可能运行得太早,并且错过了一个DLL在测试运行中途加载;在测试过程退出后,或者ListDLL可能运行得太晚.

同样,我可以从Visual Studio调试器的输出和模块窗口中获取所需的信息,但我想在构建服务器上自动执行此操作.

是否有任何命令行工具可以运行任意EXE,跟踪它使用的DLL,并将信息记录到文件

解决方法

您可以编写自己的工具,它将使用“调试”功能.这个工具必须

>暂停新流程
>将创建的进程作为调试器附加
>处理调试事件,我记得你需要LOAD_DLL_DEBUG_EVENT

http://msdn.microsoft.com/en-us/library/windows/desktop/ms679302(v=vs.85).aspx

猜你在找的Windows相关文章