2017-07-07 99 views
0

我正在研究一個.Net項目,它工作正常,但我注意到,當我在調試時暫停程序時,其他一些與項目完全無關的文件無法打開。這些文件的例子是在MS Access,MS Internet Explorer中打開的文件...爲什麼在調試過程中暫停我的項目停止其他程序?

一旦我點擊運行按鈕,文件立即打開。

有什麼建議,爲什麼這個文件凍結髮生?

下圖顯示了此問題(暫停調試程序時紅色方塊中的文件未打開,一旦程序運行時它們將打開)。

​​

回答

2

這裏的罪魁禍首是幾乎可以肯定在打開文件時使用DDE過程的東西。 DDE的問題在於它通過使用廣播消息來工作。這些消息必須由桌面上的每個頂級窗口處理。如果其中一個頂層窗口的消息循環當前沒有處理消息,而是在調試器中暫停,那麼DDE就會崩潰。

DDE在當天就很好 - 在搶佔式多任務被添加到windows之前。這是很久以前,但不幸的是一些程序仍然使用它。