我编写了一个有几千行和几个线程的 C# 程序。执行可以正常运行几个小时/几天,直到在 Windows 服务器上运行的应用程序开始减慢所有内容(其他程序/Web 服务器),因为它突然开始占用大约 50-80% 的 CPU。
我假设它卡在了某个 while 循环中,但我不知道具体在哪里。知道哪个线程占用了系统资源的最大份额已经很有帮助。由于没有抛出任何异常,我看不到任何直接的可能性。
代码已经过检查,但我没有发现任何重大/明显的编程错误。
有没有人知道让 Visual Studio 监视当前 CPU 负载以显示它在哪里用完的好方法?