我想知道在生产环境中分析正在运行的托管流程是否有一种不那么干扰的方法。
较少侵入性的含义:
在Java世界中,JDK有一个这样的工具部分。我想知道.NET世界中是否有类似的工具。
该工具应回答以下问题:
有什么想法吗?
Alex
答案 0 :(得分:2)
如果我理解正确,你不想实际调试程序,只获得一些基本信息。在这种情况下,Process Explorer可能就足够了。
答案 1 :(得分:1)
正如Oefe所说,您可以获得大量信息,包括Process Explorer中所有线程的堆栈。此外,.NET运行时有许多有用的performance counters,可能会给你一些见解。如果您有特殊需求,您的应用程序可以发布自己的计数器。
答案 2 :(得分:1)
以下是使用ETW和another one
以非侵入方式进行生产调试答案 3 :(得分:0)
这取决于您要调试的内容。 WinDbg是Windows调试的巨大锤子,适用于从内核扩展调试任何东西。
如果您只想调试程序,大多数人只使用visual studio,它将附加到正在运行的进程。
然而,@ ofe可能会在这里有牛角。当大多数人说'调试器'时,他们想要回溯和断点等等。在Java中,您需要事先安排附加那种调试器。 Windbg或visual studio(-debugexe)比更多方便。