我希望分析 Azure 中部署的 Web 应用程序的内存泄漏。
引用以下网址
- https://blogs.msdn.microsoft.com/kaushal/2017/05/04/azure-app-service-manually-collect-memory-dumps/
- https://blogs.msdn.microsoft.com/kaushal/2017/05/04/azure-app-service-manually-collect-memory-dumps/
我们能够提取内存转储并分析它们。但由于我们在收集转储时无法注入(inject) LeakTrack dll/启用内存泄漏跟踪,因此我们收到消息称,由于在执行内存分析时未注入(inject) dll,因此未执行泄漏分析。
请建议如何在这种情况下通过分析转储找出内存泄漏。
最佳答案
正如您所说,DebugDiag 目前无法创建反射进程转储,并且 ProcDump 无法注入(inject) LeakTrack dll 来跟踪分配。因此,我们可以通过使用这两种工具来解决问题。
我们只需转到 DebugDiag 中的“进程”选项卡,右键单击该进程,然后选择“启动泄漏监控”。 我们可以通过编写 DebugDiag 和 ProcDump 脚本来完成我们为它们设置的各个任务来做到这一点。
一旦我们获得了问题进程的 PID,我们就可以使用脚本将 LeakTrack dll 注入(inject)到该进程中。知道 PID 并创建脚本后,我们可以从命令行启动 DebugDiag。 如:
C:\PROGRA~1\DEBUGD~1\DbgHost.exe -script "your LeakTrack dll path" -attach your PID
更详细的可以引用这个article .
这也是引用case .
关于azure - 如何分析 "azure web apps"的内存泄漏(PaaS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49195041/