2008-10-02 8 views
22

Frecuentemente necesito depurar binarios .NET en máquinas de prueba (por máquina de prueba, quiero decir que la máquina no tiene instalado Visual Studio, con frecuencia se vuelve a crear la imagen, no es la misma máquina que hago mi desarrollo) encendido, etc.).Depurador .NET ligero.

Me encanta el depurador de Visual Studio, pero no es práctico para mí instalar estudios visuales en una máquina de prueba recién creada solo para depurar una afirmación o bloqueo (la instalación lleva demasiado tiempo, la huella es demasiado grande, etc.)

Me gustaría realmente un programa instalado rápidamente que podría entrar en un proceso en ejecución, permítame especificar la ubicación de los símbolos/código fuente, y permítame pasar directamente a la depuración. Para los binarios nativos, windbg funciona muy bien, pero no he encontrado nada similar para los binarios administrados. ¿Alguna recomendación?

(como nota al margen, soy consciente de los estudios visuales capacidades de depuración remota, pero por alguna razón nunca parece trabajar constantemente para mí ... A menudo tengo problemas de conexión)

Respuesta

5

fin he encontrado extensiones de WinDbg que hago justo lo que quería: Sosex.dll, me permite usar windbg para depurar aplicaciones administradas con una instalación mínima requerida. Lo he usado por más de un año, y funcionó, sin fallas, por cada escenario de depuración que he encontrado.

4

Siempre hay mdbg y cordbg, pero sugiero profundizar en por qué la depuración remota no funciona de forma coherente.

VS2005/8 parece mucho más confiable que las versiones anteriores aquí (aunque lo hago principalmente no administrado) y le evita tener que tener los símbolos accesibles en la máquina de destino.

9

Para una interfaz un poco más agradable que MDbg o cordbg, eche un vistazo a DbgCLR, una versión reducida del depurador de Visual Studio (al menos se ve como uno) que maneja solo código administrado. Viene con el .NET Framework (no estoy seguro si es en el tiempo de ejecución o si necesita el SDK marco):

Tenga en cuenta que cordbg está en desuso en favor de MDBG (a pesar de que MDBG no tiene todas las características de cordbg):

Y en mirar hacia atrás en MDBG whle escribir este post, he encontrado que hay una envoltura GUI disponible para MDBG (que no he probado):

+1

¿Hay una versión .NET 4 de CLR Debugger? No encontré ninguno ... – zproxy

+0

No, no existe: http://blogs.msdn.com/b/andypennell/archive/2005/02/21/377621.aspx?PageIndex=2#comments – thorn

+2

Update: The MDBG 4.0 Sample ha sido lanzado a http://www.microsoft.com/downloads/en/details.aspx?FamilyID=ce94e626-c43d-419c-8538-173f6a042ef5 Gracias, Aaron – AaronBa

1

¿Ha intentado usar Cracked.NET?

Es una herramienta de depuración y creación de scripts en tiempo de ejecución que le da acceso a las partes internas de cualquier aplicación de escritorio .NET que se ejecute en su computadora.

3

La versión 2 de ILSpy contiene un depurador. ¡Y funciona increíble!

Todavía está en etapas muy tempranas, pero me ha ayudado varias veces.

¡Cuidado con los errores! :)

+0

Tengo ILSpy versión 2.4. 0.1963 y no puede encontrar ninguna pista sobre cómo usar realmente el depurador que menciona. No hay ejecutable de depurador en la carpeta ILSpy, no se hace clic derecho en el árbol, nada. ¿Puedes darme una pista, por favor? –

0

Tal vez puedas probar el uso de Live Tuning combinado con un Ocf Server?

No es un depurador per se, pero es bastante fácil establecer una conexión entre una aplicación y Live Tuning. Me gusta, literalmente, 3 líneas de código. Entonces tienes acceso a todas las variables que eliges publicar.

Lo encontré útil al intentar depurar mis programas sin tener acceso al código decompilado o a un depurador real. Realmente no se pueden tener puntos de interrupción, pero resulta que a veces hay mejores formas de depurar.