【问题标题】:How to track "freezing" app, finding its source?如何跟踪“冻结”应用程序,找到其来源?
【发布时间】:2009-10-19 07:16:37
【问题描述】:

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

【问题讨论】:

  • 语言、平台、...?

标签: c# winforms networking


【解决方案1】:

您可以在您的应用上运行分析器来尝试帮助隔离问题。

我一直在玩EQATEC Profiler,它看起来是一个非常好的实用程序,而且完全免费。它向您展示了一些非常有用的统计数据,例如每种方法所花费的时间。如果您掌握了这些信息,那么它应该可以帮助您找出问题所在。

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

【讨论】:

  • 谢谢,听起来真的很棒!
  • 没问题。有几个可用的分析器。这是迄今为止我发现的最好的(/唯一的)免费的...
【解决方案2】:

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

【讨论】:

  • 我只在 od VS 之外尝试过一次,结果是一样的,但是我的朋友尝试过没有“打嗝”——所以我会做进一步的调查。谢谢你记得我!
  • 没关系。我希望你能很快搞定。
猜你喜欢
  • 2017-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-27
  • 1970-01-01
  • 1970-01-01
  • 2015-10-08
  • 1970-01-01
相关资源
最近更新 更多