2010-01-20 8 views
6

Estoy buscando crear archivos de volcado para un proceso administrado.creando un archivo de volcado para una aplicación administrada (.net) usando windbg (o mscordmp)

Sé que puedo usar windbg para crear un archivo de volcado, pero me pregunto si hay algún indicador especial que deba pasar al comando ".dump", dado que es una aplicación administrada en lugar de una nativa uno.

una pregunta secundaria relacionada: He oído hablar de una herramienta llamada mscordmp.exe (si la busca, puede encontrarla en línea). ¿Sigue siendo relevante mscordmp? No puedo encontrar un punto de descarga para él en ninguna parte, pero pensé que podría ser más adecuado para volcar memoria administrada que windbg.

+0

posible duplicado de [¿Cómo tomo un buen volcado de emergencia para .NET?] (Http://stackoverflow.com/questions/24874027/how-do-i-take-a-good-crash-dump-for -red) –

Respuesta

4

Debe usar/ma para crear un volcado total de memoria. De lo contrario, sos se quejará de que el análisis administrado será muy limitado.

0

No, no hay indicadores especiales relacionados con la aplicación administrada, windbg solo crea un volcado de memoria, son datos brutos. El propósito de su herramienta de análisis es saber si su volcado fue creado para la aplicación administrada o no administrado.

Si hablar sobre el análisis de aplicación administrada, que no puede ser los pasos siguientes:

  1. adjuntar windbg al proceso que se ejecuta aplicación administrada
  2. .dump /ma <outputfilename.dmp> plazo. Crea un archivo de volcado, esta operación puede tomar varios minutos dependiendo de la memoria consumida por el proceso. La bandera /ma ordena crear un volcado total de memoria del proceso adjunto con todas las opciones habilitadas (no es un volcado completo del sistema, solo el proceso adjunto).
  3. desconexión del proceso, puede seguir ejecutándose, mientras que puede cargar el archivo de volcado en windbg y analizarlo.
  4. sos.dll es la extensión windbg común para analizar aplicaciones administradas.

p.s. Puede haber problemas para habilitar sos.dll con .load sos.dll, en ese caso puede intentar .loadby sos mscorwks.

Cuestiones relacionadas