2017-07-07 60 views
0

我正在研究一个.Net项目,它工作正常,但我注意到,当我在调试时暂停程序时,其他一些与项目完全无关的文件无法打开。这些文件的例子是在MS Access,MS Internet Explorer中打开的文件...为什么在调试过程中暂停我的项目停止其他程序?

一旦我点击运行按钮,文件立即打开。

有什么建议,为什么这个文件冻结发生?

下图显示了此问题(暂停调试程序时红色方块中的文件未打开,一旦程序运行时它们将打开)。

​​

回答

2

这里的罪魁祸首是几乎可以肯定在打开文件时使用DDE过程的东西。 DDE的问题在于它通过使用广播消息来工作。这些消息必须由桌面上的每个顶级窗口处理。如果其中一个顶层窗口的消息循环当前没有处理消息,而是在调试器中暂停,那么DDE就会崩溃。

DDE在当天就很好 - 在抢占式多任务被添加到windows之前。这是很久以前,但不幸的是一些程序仍然使用它。