Actualmente estoy intentando iniciar un depurador para un proceso que se inicia externamente (no desde Visual Studio). Parece que no puedo ejecutar realmente un depurador, ya que parece que no pasa nada. En el proceso, agregué este código:Debugger.Launch no funciona
Debug.Assert(Debugger.IsAttached == false, "Should be no debugger");
if (!Debugger.IsAttached)
{
Debug.Assert(Debugger.Launch(), "Debugger not launched");
}
Debugger.Break();
Debug.Assert(Debugger.IsAttached == true, "Debugger should be attached");
Las afirmaciones están ahí para verificar que no estoy loco. Al principio, la propiedad IsAttached devuelve falso como esperaba. Luego llamo al Debugger.Launch, y devuelve verdadero. Según la documentación de MSDN de Debugger.Launch, dice que solo devolverá true si tiene éxito en el lanzamiento del depurador, o si ya está conectado. Verifiqué que uno no estaba conectado, por lo que debe haber lanzado uno.
El punto de inflexión nunca se golpea, y la segunda verificación falla (la propiedad IsAttached devuelve falso). También intenté dormir después de Debugger.Launch para dedicarle algo de tiempo, fue en vano.
¿Alguna sugerencia?
He editado su título. Por favor, consulte: "[¿Las preguntas deberían incluir" etiquetas "en sus títulos?] (Http://meta.stackexchange.com/questions/19190/)", donde el consenso es "no, no deberían". –
Algo no funciona con su configuración de vsjitdebugger. Pruebe esto: http://social.msdn.microsoft.com/forums/en-US/vsdebug/thread/9a539c40-1869-44b8-9aed-9f9d7d402d7c/ Si eso no ayuda, utilice ProcMon y compare una buena máquina con el malo –
Es bueno saber sobre las etiquetas. Probaré el artículo Hans y veré qué puedo encontrar. – Trevor