我正在尝试使用 WinDbg 来检测非托管 dll 中的内存泄漏。
假设我有一个 MyDll.dll(非托管)需要调试,并且我有一个 MyExe.exe(托管)。调用 MyDll.dll。这是我所做的,但没有奏效:
- 将SRV*f:\localsymbols* http://msdl.microsoft.com/download/symbols添加到 WinDbg
- 将C:\MyPath\MyExe\Bin\Debug\MyDll.dll添加到 WinDbg
- 运行 MyExe.exe,并将 WinDbg 附加到 MyExe.exe
所以基本上 MyDll.dll 将被复制到 C:\MyPath\MyExe\Bin\Debug\MyDll.dll 中。MyExe.exe 运行时,将调用 MyDll.dll。
但是我的配置不起作用,因为当程序运行时,我在 WinDbg 窗口中看不到任何动态更新,应该会发生泄漏。
我想知道我应该如何配置 WinDbg 来检测 MyDll.dll 中的内存泄漏?我在Win7、VS2008 和 .NET3.5
谢谢。