Mi única experiencia de desarrollo a nivel de SO fue en la escuela de posgrado, pero sospecho que lo que está sucediendo es esto (o algo similar):
Se produjo un error al ejecutar la última instancia que el depurador trató de manejar, pero otro problema causó que fallara (tal vez se encontró una afirmación de depuración, pero antes de que pudiera hacer clic en el cuadro de diálogo para Anular / Reintentar / Ignorar, se activó otra interrupción , tal vez debido a un puntero nulo). El resultado, después de que detuvo la depuración, fue que el depurador todavía estaba esperando su respuesta a la primera afirmación de depuración, por lo que no permitiría que el proceso terminara. Pero luego el depurador finalizó cuando dejaste de depurar (¿o lo hiciste?), Convirtiendo el proceso en un zombie, o su árbol en zombies. Cuando trataste de matar el proceso zombie, ocurrió un error similar a este, pero el administrador de tareas no te lo contó:
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.
Si decide intentar lo mismo en el padre (en mi caso, el padre fue el proceso del depurador, msvsmon.exe), falla de la misma manera:
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.
El IDE inició al padre, pero el IDE cortó el cordón umbilical, por lo que ahora tiene dos procesos zombie. No puede adjuntar un depurador al proceso que estaba depurando, porque ya hay un depurador (zombie) conectado, y no puede adjuntar un depurador al depurador (zombie) porque, como Visual Studio le dirá cuando intente :
No se puede adjuntar al proceso. Una operación no es legal en el estado actual.
Los zombis todavía están en la tabla de procesos lo suficientemente bien como para evitar que ejecutes otra instancia a través del depurador, pero probablemente puedas iniciar otra instancia fuera del IDE.
Esto aborda el problema más específico de hacer que VS cree un proceso zombie. Pero, los procesos zombis a menudo no mueren. Bueno, a menudo en Windows, a veces en Linux, no hasta que les disparas con una escopeta. ¿O fue un cierre? Pero tenga cuidado con la aplicación accidental de actualizaciones pendientes de Windows.
Me emocioné con algunas de las respuestas anteriores que sugerían asociarme con el depurador, pero lo anterior es el resultado que obtuve. Así que estoy enviando mi respuesta y reiniciando para limpiar la tabla de procesos.