如何跟踪“冻结”应用程序,找到它的来源?

时间:2009-10-19 07:16:37

标签: c# winforms networking

我有一个带有3个线程的服务器和一个用于接收数据处理的线程池。我使用的唯一锁(读取器和写入器)用于客户端连接列表。 有时候主表格冻结了一秒钟,我找不到问题。表单不做任何艰苦的工作,这是针对不同的线程。 我想问一下,如果没有办法跟踪这个“冻结”了吗?非常感谢任何帮助,谢谢!

2 个答案:

答案 0 :(得分:2)

您可以在应用上运行探查器,尝试帮助隔离问题。

我一直在玩EQATEC Profiler,它看起来非常好用,而且完全免费。它会向您显示一些非常有用的统计信息,例如每种方法花费的时间。如果你掌握了这些信息,那么跟踪你的问题应该会有很长的路要走。

我还没有在多线程应用程序上尝试过,所以我不确定它如何处理不同的线程。但它值得一试(就像我说的那样)它是完全免费的(BSD许可证)并且易于使用。

答案 1 :(得分:0)

在调试模式下运行应用程序时是否会冻结? 我自己经历过类似的行为,当在VS环境(Debug Release版本)之外进行测试时,“打嗝”消失了。