2009-10-19 40 views
0

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

+0

语言,平台,...? – jitter 2009-10-19 07:19:33

+0

抱歉,我忘记了C#标记。 – Petr 2009-10-19 07:20:51

回答

2

您可以在您的应用程序上运行一个分析器来尝试并帮助找出问题。

我一直玩EQATEC Profiler,它看起来像一个非常好的工具,是完全免费的。它显示了一些非常有用的统计数据,例如每种方法花费的时间。如果你掌握了这些信息,那么它应该能够追踪你的问题。

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

+0

谢谢你,这听起来真的很棒! – Petr 2009-10-19 07:41:51

+0

没问题。有几个分析器可用。这是迄今为止我发现的最好的(/唯一的)免费的一个... – ParmesanCodice 2009-10-19 07:47:11

0

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

+0

我在VS之外只尝试过一次,但它是一样的,但是我的朋友没有“打嗝”就尝试过 - 所以我会做进一步调查。谢谢你记住我这个! – Petr 2009-10-19 08:36:14

+0

不用麻烦。我希望你能很快得到它。 – Audrius 2009-10-19 11:54:22