2011-09-01 12 views
32

Necesito depurar una aplicación que se inicia desde una instalación con un solo clic. (VS 2010, Excel VSTO con Office 7). En función de las credenciales de inicio de sesión suministradas a la aplicación de instalación de un clic, el usuario debería ver una de las dos páginas de presentación. Todo esto funciona bien en mi máquina, pero cuando se implementa, el cambio de la página predeterminada a la segunda causa un error.Iniciar el depurador en el código

Por mi vida, no puedo encontrar la manera de depurar el proceso dentro de VS2010. Puedo adjuntarme al inicio de sesión antes de ingresar las credenciales, pero no puedo adjuntarme a Excel porque no se inicia hasta que haga clic en el botón Aceptar.

Entonces, ¿hay alguna manera de tener Excel, o más bien, mi código llame al depurador mientras se crea una instancia para que pueda descubrir por qué mi recurso de imagen no está disponible en la aplicación implementada?

Gracias.

Randy

+0

¿La máquina de destino tiene instalado Visual Studio? –

+0

No. Es un servidor de desarrollo, pero creo que la persona que realiza la depuración debe tener derechos de administrador, y eso no va a suceder. – EoRaptor013

+0

Es bueno que haya resuelto el problema, pero como un FYI no necesita derechos de administrador, solo necesita [ser un miembro de 'Debugger Users' para su usuario.] (Http://msdn.microsoft.com/en- us/library/aa291232% 28v = vs.71% 29.aspx) –

Respuesta

67
System.Diagnostics.Debugger.Launch(); 
+1

¡¿oh ... fue así de simple ?! ! :) no lo sabía. –

+0

¡Sí, y trate de encontrar eso en la documentación! Tal vez mi Google-fu es débil. – EoRaptor013

+0

Debería votar yo mismo por uno por no solo mirar la documentación de la clase. Oh bien. – EoRaptor013

0

podría adjuntar a Excel si se estaba ejecutando el tiempo suficiente, pero dudo seriamente el error está ahí.

podría adjuntar a aplicaciones/procesos en ejecución y si hay símbolos disponibles (depuración compilación) realmente puede depurar, pero la aplicación tiene que vivir lo suficiente como para que pueda seleccionarlo para adjuntar.

Creo que, lo que necesita es una excepción adecuada y registro de errores, cualquier cosa como Log4Net o NLog que almacena todo (rastro de pila, detalles de excepción ...) en cada excepción, por lo que claramente identificar cuál es el problema real.

+0

El error está en un complemento de VSTO para Excel; y sucede tan pronto en el proceso que no hay forma de vincularlo antes de que el error ya haya sido mordido. De nuevo, puedo ejecutar la aplicación desde mi máquina sin obtener un error. Solo quienes usan la aplicación del servidor de desarrollo ven el error. – EoRaptor013

3

La respuesta de Juan es la mejor si tiene Visual Studio instalado. pero si la máquina objetivo no la tiene, puede que necesites hacer una especie de pausa (normalmente pondré un cuadro de diálogo como la primera cosa en main que hace que espere que lo conecte) y luego uso un remote debugger para adjuntarlo en su máquina

+0

De acuerdo. Es algo desagradable cuando instala VS en máquinas de producción :-D –

+0

Esto ni siquiera es una máquina de producción. Pero supongo que lo ven como una prueba para lanzarse a la producción, lo que significa que el administrador de compilación es el único que puede implementar en el servidor de desarrollo. Es por eso que no puedo hacer ninguna depuración remota. – EoRaptor013

Cuestiones relacionadas