WinForms应用程序变得随机无响应

时间:2012-03-18 22:52:34

标签: c# .net winforms visual-studio

我们正在构建一个基于WinForms的应用程序(使用.NET 3.5)

最近我遇到过,在执行我们应用程序的主要工作流程时,应用程序将在几秒钟内无响应,无法正确呈现UI(显示“程序未响应”消息)。

我们已将问题缩减为可疑的代码行,该代码行向标签控件添加工具提示:

ToolTip tooltip = new ToolTip();
tooltip.SetTooltip(label, "something");

我花了两天的时间来弄清楚这段代码中的哪些内容可以编写UI线程的任何问题,但未能这样做。

我的问题是 - 是否可以使用性能分析器来收集有关代码的信息?请注意,ToolTip类属于WinForms,我没有可用的源代码。

删除这些行似乎完全解决了这个问题。 我希望将来减少调试工作,因为这个问题可能会出现在我们代码库的其他位置。

编辑: 我能找到的唯一类似的报道问题是:WinForm ToolTip.SetToolTip is Hanging my application :(

2 个答案:

答案 0 :(得分:0)

您可以使用JetBrains DotTrace之类的程序来查看实际导致程序暂停的内容

答案 1 :(得分:0)

我有同样的问题,除了我使用设计器放置的ToolTip对象,然后在ToolTip的Popup事件中我设置了ToolTip的文本。

问题只发生在64位Windows 7上(我无法测试32位Win7),在32位Windows XP上运行正常。

编辑:我猜有一些弹出事件的循环调用,因为当我将tolltip设置移动到我的代码的其他位置时,它可以正常工作。