对于.Net 4.6.x,我非常依赖DebugDiag 2
每当生产应用程序出现高CPU问题、死锁等问题时,我都会使用该工具来捕获w3svc转储,它会打印出所有线程都在做什么的漂亮报告。他们可能正在等待第三方API、数据库等。
我想迁移到asp.net核心,但是如果我有一个100%CPU的生产服务器,或者像上面提到的问题,我找不到任何方法可以转储进程中的所有线程并查看它们的堆栈跟踪。
人们如何在没有这种可见性的情况下四处走动?我是不是遗漏了什么?我正在寻找一种在Linux上也能工作的解决方案。
发布于 2019-01-09 11:39:17
我推荐IDA,它是一个调试器和反汇编程序。它在Linux上运行,可用于转储所有线程并执行堆栈跟踪。Here is a link to it.或微软现在允许您直接从Visual Code Studio进行调试,并将线程转储到那里。有多个关于这方面的教程,快速的谷歌搜索可以帮助或查看微软帮助中心。请查看here.
https://stackoverflow.com/questions/46393608
复制相似问题