2011-04-19 17 views
15

Estoy usando vsjitdebugger.exe -p {pid} para adjuntar el depurador de Visual Studio a un proceso en ejecución. Funciona, pero con la molestia de que una ventana emergente me pide que seleccione un depurador para adjuntar y puedo elegir la instancia abierta de Visual Studio o iniciar una nueva instancia. ¿Es posible pasar el archivo .sln al que quiero que se adjunte para que no aparezca el mensaje? Pude elegir una nueva instancia como la predeterminada, pero esperaba poder especificar un archivo .sln para que abriera esa solución o se adjuntara si ya estaba abierta.Cómo adjuntar el depurador de Visual Studio desde la línea de comandos

Gracias, Greg

Editar: Tenía la esperanza de una manera programática de hacer esto. Mi aplicación está siendo ejecutada por un marco de prueba y quiero que se ejecute sin tener que hacer clic en nada. El cuadro de diálogo de ayuda para vsjitdebugger.exe no menciona que lo que quiero es posible. Lo que realmente quiero es la capacidad de hacer: vsjitdebugger.exe -p {pid} -s 'solution.sln' y omitir esa ventana emergente.

+0

¿Estás tratando de depurar un proceso que se inicia por otro proceso? –

+1

Sí. El ejecutable en realidad está siendo iniciado por un marco de prueba escrito en python con subprocess.popen(). Luego lo sigo con "os.system ('vsjitdebugger.exe -p {0}'. Format (self.sim_process.pid))" –

Respuesta

1

Tener un vistazo a este artículo, a pesar de que utiliza macro de usted podría convertir en C# o vb.net razonablemente fácil.

http://www.codeproject.com/KB/macros/AttachedProcess.aspx

+0

Gracias spgennard. Elegí esta como la respuesta aceptada porque probablemente esté en el camino correcto. Aunque parece que tiene más problemas de los que merece la pena, así que quizás nunca haga el esfuerzo de resolver mi problema. –

0

No estoy seguro de si el depurador permite la opción de cargar la solución cuando la ejecuta. No es posible que el depurador sepa a qué solución pertenece el ejecutable, ya que el único argumento que se proporciona es el pid.

Si desea iniciar el proceso y depurarlo a través de la solución visual studio, entonces la mejor manera de hacerlo sería iniciar el proceso y adjuntarlo al depurador.

Más información sobre cómo conectar con el proceso que está en How to: Attach to a Running Process

También, echar un vistazo a esta pregunta: Run Debug mode from command line

+0

Gracias por responder. Debería haber especificado que estoy buscando una forma programática de hacerlo. –

+0

@Greg McDowell, si desea conectar mediante programación el proceso al depurador en una solución específica, entonces el camino a seguir sería automatizar Visual Studio para adjuntar el proceso tan pronto como se ejecute la solución. –

+0

@ DevendraD.Chavan y ¿cómo haces eso ?? !!!! ??? – AbstractDissonance

Cuestiones relacionadas