2

我有一个用 C# 编写的大型 Winforms 应用程序,它定期无响应。一旦应用程序使用了一个小时左右,问题似乎就会发生。很难收集确切的时间,因为用户经常去处理其他事情,然后回到它并发现它变得没有响应。

我认为可以排除内存泄漏,因为我没有看到过多的内存使用情况(我已经要求用户发送任务管理器的屏幕截图,并且内存使用情况与我在应用程序正常运行时看到的相同)

同样,CPU使用率正常(个位数%)

由于到目前为止我无法在我的开发 PC 上重新创建问题,因此我计划坐在受影响的用户旁边并镜像用户执行的每个操作以重新创建此问题。(我将在我的主 PC 中设置一台笔记本电脑以进行 RDP)

重新创建问题是一回事,但我需要找出应用程序中实际发生的情况。

谁能告诉我在调试模式下运行(通过 Visual Studio)是否就足够了,或者我需要做一些不同的事情吗?

我搜索了一些帖子,并且看到了分析软件的提及,但是我不确定这是否只会有助于解决一般性能问题或内存管理问题。

或者,如果有人遇到过类似的冻结问题,那么您对造成这种情况的原因有什么建议吗?

一些技术细节:应用程序是 C#,针对 .NET 3.5 编译,winforms GUI。有一些外部库(最重要的是 ComponentFactory Krypton Suite)。数据访问是对 Microsoft SQL Server 2005 数据库。该解决方案包含 39 个项目,我不确定这是否与它有关?

任何建议/指针将不胜感激。

4

1 回答 1

0

该应用程序现在运行更加可靠,偶尔仍会出现冻结问题,但远没有以前那么频繁。

该问题似乎与我正在工作的环境中存在的端点安全(在本例中为思科安全代理)有关,应用程序已被列入白名单,并且已显着减少了应用程序挂起的实例。我工作的开发系统不存在这种端点安全性,因此它没有出现在测试的早期阶段。

感谢您的所有反馈,我认为仍然存在需要清理的线程和垃圾收集问题,希望这可以解决最后几个问题。

于 2012-09-28T09:03:27.040 回答