2012-07-24 17 views
6

Al depurar la aplicación de Windows, quería saber si es posible ubicar símbolos en una ubicación de memoria determinada (y cómo). Esta será la operación inversa de escribir un símbolo en la ventana "Memoria", que traducirá el símbolo a su dirección. Pero no al revés.¿Cómo encontrar símbolos en o cerca de una dirección de memoria determinada? (utilizando Visual Studio 2010)

Es muy fácil en el shell de VxWorks, y es posible con Linux gdb. Debería ser posible en VS.

Gracias.

+1

Se podría pensar ... :(Usted tendrá que utilizar DIA manualmente para encontrar esa información favor presentar una sugerencia aquí:. Http://connect.microsoft.com/ – linuxuser27

+0

Gracias haremos. ¿Qué es DIA? – FractalSpace

+1

DIA es una API para consultar los archivos de símbolos, 'pdb', que se generan durante la compilación. Esta no es una tarea trivial. Buscar" DIA SDK " – linuxuser27

Respuesta

3

Al usar windbg para depurar, el comando "Dirección ln" le ayudará a verificar los símbolos cerca de la dirección de destino, espero que eso le ayude.

3

Si tiene suerte y sabe la dirección exacta, pero no conoce el nombre del símbolo, intente escribir la dirección en la ventana Inspección, y el VS encontrará el símbolo. P. ej. .

(void *)0x6F63E248 -> 0x6f63e248 {My.dll!TMyString<char,CMyMemHeap> *s_psMyAppNameAbbr} void * 
+1

+1 Siempre que la pregunta sea "¿Cómo encontrar el símbolo en una dirección de memoria determinada?", Esta es una respuesta válida y útil. – Yirkha

+0

Esto fue muy útil, exactamente lo que necesitaba. –

Cuestiones relacionadas