Мой единственный опыт разработки на уровне ОС был в аспирантуре, но я подозреваю, что происходит (или что-то подобное):
Произошла ошибка во время запуска последнего экземпляра, который отладчик пытался обработать, но некоторые другие проблемы привели к сбою (возможно, возникло отладочное утверждение, но перед тем, как вы нажали на диалоговое окно, чтобы прервать / повторить / игнорировать, произошел другой разрыв , может быть из-за нулевого указателя). В результате после того, как вы прекратили отладку, отладчик все еще ждал вашего ответа на первое утверждение отладки, поэтому он не позволил завершить процесс. Но затем отладчик завершился, когда вы прекратили отладку (или сделали это?), Превратив процесс в зомби или его дерево в зомби. Когда вы пытались убить процесс зомби, произошла ошибка, похожая на эту, но менеджер задач не сказал вам об этом:
C:\Windows\system32>taskkill /pid 9564 /f /t
ERROR: The process with PID 9564 (child process of PID 22520) could not be
terminated.
Reason: There is no running instance of the task.
Если вы решите попробовать то же самое на родительском (в моем случае родительским процессом был процесс отладчика, msvsmon.exe), он завершится неудачно тем же способом:
C:\Windows\system32>taskkill /pid 22520 /f /t
ERROR: The process with PID 9564 (child process of PID 22520) could not be
terminated.
Reason: There is no running instance of the task.
ERROR: The process with PID 22520 (child process of PID 13964) could not be
terminated.
Reason: There is no running instance of the task.
Родитель был запущен IDE, но IDE перерезал пуповину, так что теперь у вас есть два процесса зомби. Вы не можете присоединить отладчик к процессу, который вы отлаживали, потому что к нему уже подключен (зомби) отладчик, и вы не можете присоединить отладчик к (зомби) отладчику, потому что, как Visual Studio скажет вам, когда вы попытаетесь :
Невозможно присоединиться к процессу. Операция не является законной в текущем состоянии.
Зомби все еще находятся в таблице процессов достаточно хорошо, чтобы помешать вам запустить другой экземпляр через отладчик, но вы, вероятно, вполне могли бы запустить другой экземпляр за пределами IDE.
Это решает более конкретную проблему наличия VS создать процесс зомби. Но процессы зомби часто не умирают. Ну, часто в Windows, иногда в Linux, пока вы не стреляете в них из дробовика. Или это было отключение? Но остерегайтесь случайного применения ожидающих обновлений Windows.
Я был взволнован некоторыми ранними ответами, в которых предлагалось подключиться к отладчику, но вышеизложенный результат - результат, который я получил. Поэтому я отправляю свой ответ и перезагружаюсь, чтобы очистить таблицу процессов.