4

我正在使用 Windows 窗体和 Visual Studio 2010 Professional 编写 C# 应用程序。该机器使用的是 Windows 7 Enterprise,它是 32 位的。尽管我认为这无关紧要,但我正在使用虚拟机(使用远程桌面连接)。

问题是,当在表单的 Load 方法中生成异常时,VS 和程序都会冻结/挂起(实际上,我什至无法显示文件夹或转到桌面),当我终止进程时它就会停止我正在调试的应用程序。

这发生在调试模式 (F5) 而不是非调试模式 (ctrl+F5)。我对此进行了很多搜索,这是 x64 机器的一个已知问题。这就是为什么我觉得它的发生真的很奇怪,就像很多人报告的 64 位计算机一样,但是在 x86 架构中。

到目前为止,我正在通过运行我想在 Load 之外的另一个函数中调试的代码来解决这个问题,但将来它可能会出现问题。

提前感谢您的任何输入。

- - - - - - - - - - - - - - - 编辑 - - - - - - - - - - --------------------------

我只是注意到我什至无法在 Load 方法中使用断点进行调试(而不是显示断点,它只是挂起......)。以前没人遇到过这个问题吗?:/

4

2 回答 2

2

好吧,伙计们,找出问题所在。

问题在于我将表单的属性“TopMost”设置为 true。奇怪的是,当异常发生时,我什至无法最小化我的应用程序,模拟挂断情况,而发生的只是我的表单正在等待 VS 的回答(这显示了异常,但它是可见的)。就像在“加载”方法中一样,表单保持冻结状态,让我别无选择,只能杀死它。

感谢您的建议,我想最后我错了,它确实在代码上:)(尽管我仍然认为由于我什至无法最小化我的应用程序而发生了一些奇怪的事情)。

(您可以关闭此线程或在确定解决某些问题时执行任何操作:P)

于 2013-03-28T15:21:02.277 回答
0

安装适用于 Windows 的 Microsoft 调试工具:http: //msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx

将此工具附加到VS并产生您的错误,该工具会在异常时创建程序的转储/快照,您可以使用此工具获取有关应用程序运行状况的所有信息,使用起来并不容易,但会有所帮助你很多。

于 2013-03-28T10:43:07.763 回答