gpt4 book ai didi

c# - 找出多线程 C# 程序卡在何处

转载 作者:行者123 更新时间:2023-12-04 23:26:30 25 4
gpt4 key购买 nike

我编写了一个包含数千行和多个线程的 C# 程序。执行可以正常运行数小时/天,直到在 Windows 服务器上运行的应用程序开始减慢一切(其他程序/Web 服务器),因为它突然开始使用大约 50-80% 的 CPU。

我认为它被困在某个 while 循环中,但我不知 Prop 体在哪里。知道哪个线程占用了系统资源的最大份额已经是有帮助的。由于没有抛出任何异常,我看不到任何直接的可能性。

代码已经过检查,但我没有发现任何重大/明显的编程错误。

有没有人知道让 Visual Studio 监视当前 CPU 负载以显示它在哪里用完的好方法?

最佳答案

哦,我多么喜欢托管堆栈资源管理器。 http://mse.codeplex.com/对于大多数版本的 .NET 和 https://github.com/vadimskipin/MSE 4.0

将它指向您正在运行的应用程序,它会快照每个线程的堆栈。查看一些快照后,您将找出问题所在。哦,当我第一次了解到这个问题时,我面临的问题很严重。哦,当它让我在短短几分钟内找到我一直在寻找的东西时,真是太高兴了。

关于c# - 找出多线程 C# 程序卡在何处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12146055/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com