【发布时间】:2018-03-05 17:43:29
【问题描述】:
对于.Net 4.6.x,我非常依赖DebugDiag 2
任何时候生产应用程序出现高 CPU 问题、死锁等问题,我都会使用该工具来捕获 w3svc 的转储,它会打印出一份关于所有线程正在做什么的漂亮报告。他们可能正在等待第 3 方 API、数据库等。
我想迁移到 asp.net 核心,但如果我有一个 100% CPU 的生产服务器或上述问题,我找不到任何方法可以转储进程中的所有线程并查看它们的堆栈跟踪。
人们在没有这种可见性的情况下如何四处走动?我错过了什么吗?我正在寻找同样适用于 Linux 的解决方案。
【问题讨论】:
-
ProcDump 怎么样?它可以转储 .net 核心应用程序创建完整的内存转储
-
@PawełŁukasik 我不认为它可以在 linux 上运行
-
不,它没有。但是在您的问题中,它在哪里说明了有关 linux 的内容?
-
@PawełŁukasik 好点。我会进行编辑。当我想到 .net 核心生产时,出于某种原因,我想到了 linux。
-
DebugDiag提供的分析可以手动进行。因此,在 Microsoft 为您创造某些东西之前,您始终可以自助。就我个人而言,我不认为 DebugDiag 以最有意义的方式分析转储(所有自动化工具都有这样的限制)。
标签: .net linux asp.net-core .net-core debugdiag