WinForms表单在一台机器上启动时挂起

时间:2010-01-21 20:42:32

标签: .net vb.net visual-studio

对于我的VB.NET应用程序,我正在使用Visual Studio附带的Windows安装程序。我可以在办公室的任何计算机上成功安装和运行我的程序,除了一台。在这台特定的机器上,我的程序将停止约30秒,然后才能加载主窗体。当我启动任务管理器时,CPU徘徊在0到1%左右,所以它并没有做任何事情,只是冻结了。它最终会加载,但它真的不应该花这么长时间,特别是当它立即加载到其他计算机上时。现在这台机器是带有serverice pack 3和.net 3.5 sp1的windows xp。你们能想到任何导致这种情况的事吗?

3 个答案:

答案 0 :(得分:3)

您可以使用Process Monitor找出程序在停止时正在执行的操作。也许它正在尝试访问一些不可用的网络资源,并且必须等待超时......

答案 1 :(得分:1)

每次应用程序加载时,或者第一次加载时,您都会得到此结果吗?如果是后者,你可能会知道它。

应用程序是否连接到任何外部资源?例如,数据库或网络共享。如果是这样,你能测试周围的条件吗?

答案 2 :(得分:1)

使用Run-> services.msc检查所有相同的服务是否在所有其他计算机上启动的相关计算机上启动。听起来好像服务正在机器上“手动”加载(因此延迟)并在其他机器上自动加载。如上所述流程监控MS Sysinternals Suite的一部分)可能非常有用

编辑:你说 任务管理器,CPU徘徊在0到1%左右, 这包括内核时间?默认情况下,任务管理器不显示内核时间,您必须从菜单栏中选择查看,然后从下拉菜单中单击显示内核时间。当CPU显示很少或没有活动时,内核活动可能非常重要。