3

我正在寻找分析部署在 azure 中的 Web 应用程序的内存泄漏。

参考以下网址

我们能够提取内存转储并分析它们。但由于在收集转储时我们无法注入 LeakTrack dll / 启用内存泄漏跟踪,因此我们收到消息称由于在执行内存分析时未注入 dll 而未执行泄漏分析。

请建议如何在这种情况下通过分析转储找出内存泄漏。

4

1 回答 1

0

正如您所说,DebugDiag 目前无法创建反射进程转储,并且ProcDump 没有办法注入 LeakTrack dll 来跟踪分配。因此,我们可以通过使用这两种工具来解决问题。

我们可以简单地转到 DebugDiag 中的 Processes 选项卡,右键单击该进程,然后选择“ Start Monitory for Leaks ”。我们可以通过编写 DebugDiag 和 ProcDump 脚本来完成我们为它们设置的各个任务。

一旦我们有了问题进程的 PID,我们就可以使用脚本将 LeakTrack dll 注入到进程中。已知 PID 并创建脚本后,我们可以从命令行启动 DebugDiag。如:

 C:\PROGRA~1\DEBUGD~1\DbgHost.exe -script "your LeakTrack dll path" -attach your PID

更详细的可以参考这篇文章

这里也是参考案例

于 2018-03-12T07:32:30.047 回答