Hoy me encontré con un problema si necesitaba depurar un programa a distancia. El programa se lanzó desde otro sistema, por lo que realmente no tengo la oportunidad de interactuar con él en la línea de comando. Sin embargo, podría cambiar su fuente fácilmente.Cómo esperar hasta que esté conectado el depurador .NET remoto
Lo que tenía que suceder era que el programa comenzara normalmente, y luego esperar a que se adjunte a él con un depurador. No pude encontrar una manera de hacerlo que me hiciera feliz. Encontré el error, pero sin la ayuda del depurador.
while(true) { }
mantenido el proceso vivo, y entonces podría "fijar próximo estado de cuenta" con el depurador, pero parecía torpe y grosero.
Console.ReadLine();
parecía extraño para escribir ya que no era en realidad una consola para que yo presiono entrar en. (No funcionó, tampoco. Establezca la siguiente instrucción y luego ejecute lo lleva de vuelta a ReadLine() espere).
¿Qué tipo de código puedo insertar en un programa .NET/CLR/C# que dice " espera aquí hasta que pueda adjuntar con un depurador "?
Gracias por esta respuesta.Sabía que tenía que haber una forma de verificar el código si se conectaba un depurador, y este fue el primer/mejor resultado que obtuve al buscar. –
Reemplazar el tiempo con un if y el sleep con una afirmación podría ser una mejor solución, ya que le permitirá continuar fácilmente si no desea adjuntar un depurador cada vez. – Luke
¿Es posible usar algún tipo de evento de 'Debugger' y esperar un' AutoResetEvent' hasta que se produzca el evento 'IsAttached'? – Pixar