2010-03-16 18 views
7

Me gustaría crear un archivo .MAP simple que liste las direcciones y los nombres de símbolos de un archivo PDB. Mi inclinación natural era buscar una herramienta llamada "pdb2map", pero la mayoría de los resultados que obtengo parecen referirse a un programa de ejemplo del CD incluido con Aplicaciones de depuración para Microsoft .NET y Microsoft Windows, que desafortunadamente es no publicado en la red.Cómo crear un archivo .MAP a partir de un archivo .PDB

¿Alguien sabe una buena herramienta para esto? Gracias.

+0

¿Hay alguna razón no se puede simplemente volver a compilar el código y tiene el compilador genera un archivo de mapa? – shf301

+0

Bueno, hay un par de casos donde eso no ayuda: (a) no tiene acceso al código fuente requerido, porque en realidad es una biblioteca que desea el archivo MAP para (b) tiene una informe de bloqueo de texto (quizás de un usuario) y desea ver dónde se produjo el bloqueo – SamB

Respuesta

3
+0

No pude encontrarlo en ningún lugar en forma binaria y tampoco está listo para compilar la fuente, así que aquí está mi paquete realmente rápido y sucio. Podría ser de ayuda para alguien. Fue eliminado del sitio mencionado anteriormente; no fue escrito por mí, solo lo compilé e hice algunos cambios para ser compilable (es necesario VS2010). Aquí está: [fuente + contenedor] (http://nedko.bg/pdb2map-bin+sources.zip) – Nedko

2

pdb2map también se discutió en un artículo de BugSlayer en la revista MSDN. Lamentablemente, se ha eliminado el archivo de código para online version of the article.

John Robbins, el autor, has a blog y puede estar dispuesto a publicar el código si lo solicita.

Por cierto, el libro bien vale la pena.

+0

Hmm, no pude encontrar ningún tipo de información de contacto en el blog, aunque ... – SamB

+1

Sam, eche un vistazo a http: // www .wintellect.com/Contact.aspx Los comentarios acerca de contactarlos indican que probablemente no les importaría que los contacten. Cualquier libro de Robbins, Richter o Pietrek es muy recomendable. –

+0

@SamB: Creo que la información de contacto de Wintellect señalada por Stephen Kellett probablemente funcionará mejor, pero es posible que su dirección de correo electrónico desde que escribió las columnas BugSlayer en MSDN Magazine aún funcione (aunque honestamente estaría un poco sorprendido) : [email protected] –

12

Si tiene tanto el aplicación.exe y los archivos application.pdb, ponerlos en el mismo directorio y ejecute:

dumpbin /map application.exe > application.map 

dumpbin viene con Visual Studio y probablemente con otras herramientas también.

+0

Interesante. Esto parece ser una característica no documentada. http://msdn.microsoft.com/en-us/library/756as972(v=VS.90).aspx – PaulH

+0

@PaulH Si ayuda, el sitio de Geoff Chappell tiene [una página en él] (http: // www .geoffchappell.com/studies/msvc/link/dump/options/map.htm? tx = 12,27,35,37,46,50 & ts = 0,3852). Parece que el mayor problema de la falta de documentación es que si el exe tiene un mapa de optimización (o "OMAP"), el mapa puede ser inexacto en al menos algunas versiones (más antiguas) (esto puede no aplicarse a versiones más recientes) , No he podido encontrar ninguna documentación no oficial más reciente). –

Cuestiones relacionadas