如何分析 "Azure Web 应用程序"(PaaS)的内存泄漏问题

3
我正在寻找分析在Azure部署的Web应用程序中的内存泄漏问题。
请参考以下链接。 我们成功提取了内存转储并对其进行了分析。但由于在收集转储时未能注入LeakTrack dll / 启用内存泄漏跟踪,因此我们收到了消息,指出由于未注入dll而未执行泄漏分析。
请建议如何在这种情况下通过分析转储找出内存泄漏。
1个回答

0

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

我们可以简单地在DebugDiag的“进程”选项卡中右键单击进程,然后选择“开始监视泄漏”。我们可以通过编写DebugDiag和ProcDump的脚本来执行我们为它们设置的各个任务。

一旦我们有了有问题进程的PID,我们就可以使用脚本将LeakTrack dll注入该进程。有了PID和脚本,我们就可以从命令行启动DebugDiag。例如:

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

如果需要更详细的信息,您可以参考这篇文章

这里也有案例可供参考。


请帮我理解这个。当我们没有虚拟机访问权限(例如在IaaS中),我们如何访问DebugDiag UI或工具的程序文件夹? - Durgaprasad Potnuru
我不确定您是否能够访问DebugDiag。您可以参考这篇文章:https://arcserve.zendesk.com/hc/en-us/articles/206136986-How-to-generate-a-Memory-Dump-for-a-VMWare-Virtual-Machine-when-the-machine-becomes-unresponsive-。 - Joey Cai
是的,我想我们无法访问。与微软人员交谈后,看起来我们无法使用注入的dll执行内存泄漏分析。解决方法似乎是在事件期间的两个不同时间分析转储,并查看哪些项目不断消耗内存。 - Durgaprasad Potnuru
1
将最佳响应标记为答案,尽管我觉得它没有完全解决报告的问题。 - Durgaprasad Potnuru

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接