Я использую VS 2008 на 64-битной машине XP. Я отлаживаю 32-битную C ++ DLL через консольную программу. Проекты DLL и EXE содержатся в одном SLN, так что я могу изменить DLL во время тестирования.
Что происходит, так это то, что время от времени я убиваю программу с помощью Debug | Остановить отладку (Shift-F5). VS останавливает программу, но окно консоли остается открытым! Если я сижу в точке останова и нажимаю Shift-F5, она будет правильно завершена, но если программа запускается с полным наклоном, когда я ее останавливаю, я часто вижу это вместо этого.
Большая проблема в том, что я не могу закрыть эти окна зомби. Использование End Task в диспетчере задач ничего не делает (ни сообщения, ни ничего). Когда я выключаю машину, она не может это сделать из-за сирот, и мне приходится прибегать к фактическому отключению питания.
Я думаю, что это связано с тем, что проект DLL и EXE находится в одном и том же SLN, так как в течение нескольких месяцев я работал над этим проектом в 2 экземплярах VS, один для DLL, а другой для EXE. Я постоянно прыгал вперед и назад между окнами, пока работал. Эта проблема никогда не возникала, пока я не объединил два проекта в один SLN. Один SLN работает намного лучше, но эта аномалия очень раздражает.
Есть идеи у кого-нибудь?
UPDATE
После небольшого поиска ( здесь ) я обнаружил, что, похоже, это связано с одним из обновлений с прошлого вторника (KB977165 или KB978037). Спасибо Microsoft за отличное предварительное тестирование.