Почему Word зависает при отладке? - PullRequest
3 голосов
/ 09 октября 2008

Всякий раз, когда я нахожусь в точке останова в определенном приложении C # .NET в Visual Studio 2008 и запускаю Microsoft Word 2007, word не открывается, пока я не перезапущу приложение C #. У меня есть несколько теорий о том, почему, но кто-нибудь знает наверняка?

Ответы [ 2 ]

4 голосов
/ 09 октября 2008

Это может быть потому, что Word отправляет сообщения DDE в окна верхнего уровня, и ваше приложение не может обработать его, так как оно зависло в отладчике. У Раймонда Чена есть сообщение в блоге об этом (хотя это и не имеет прямого отношения к отладчику, но имеет тот же эффект).

2 голосов
/ 09 октября 2008

Распространенной причиной таких зависаний является (или раньше) приложение, которое отправляло широковещательное сообщение Windows при запуске и ожидало ответа от каждого окна. Если в отладчике открыто приложение с графическим интерфейсом, оно не будет отвечать на сообщения Windows, поэтому отправляющее приложение будет зависать в ожидании ответа. Я помню, что наиболее распространенные типы программ, которые использовали эту технику, были программами-установщиками.

Я не знаю, отправляет ли Word 2007 какие-либо широковещательные сообщения, но это только один из способов. Есть множество способов, которыми COM / OLE-вещи могут зависнуть, и это, вероятно, более вероятно для Word.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...