对于.Net 4.6.x,我非常依赖DebugDiag 2
随时生产应用程序有高CPU问题,死锁等,我会使用该工具捕获w3svc的转储,并打印出一个很好的报告,说明所有线程正在做什么。他们可能正在等待第三方api,数据库等。
我想转移到asp.net核心,但如果我有一个生产服务器w / 100%cpu或上面提到的问题,我无论如何都找不到你可以转储进程中的所有线程并看到他们的堆栈跟踪。
如何让人们无法获得这种可见性?我错过了什么吗?我正在寻找一种适用于Linux的解决方案。
答案 0 :(得分:0)
我建议使用IDA,它是调试器和反汇编器。它运行在Linux上,可用于转储所有线程并执行堆栈跟踪。 Here is a link to it.或Microsoft现在允许您直接从Visual Code Studio进行调试并将线程转储到那里。有很多教程,快速的Google搜索可以帮助您或查看Microsoft帮助中心。检查一下here.