2009-02-06 7 views
7

¿Por qué el depurador integrado vs ... apenas funciona? No puedo ver el contenido de un objeto en la memoria. Por ejemplo, estoy trabajando con bitmaps y me gustaría verlos en la memoria. ¿Necesito un depurador mejor para esto? Si es así, estoy interesado en recomendaciones. Nada demasiado poderoso como un desensamblador, solo el depurador.Depurador de Visual Studio C++: ¿Sin volcado hexadecimal?

+0

He pasado 3 horas buscando información básica sobre cómo leer variables locales en windbg y visual studio. No puedo encontrar nada que funcione. No puedo encontrar ninguna fuente confiable de información. No hay nada mejor que GDB, donde puedes ver todo y la documentación es muy clara y simple. – Owl

Respuesta

27

Nunca he encontrado que sea "apenas funcional". VS le ofrece el desmontaje por defecto cuando no puede encontrar la fuente, y es bastante fácil acceder a la vista de la memoria. Depurar-> Windows -> Memoria. Escriba "this" en el cuadro Dirección: para obtener la memoria de su objeto actual. Para ver un tipo de miembro específico '& this-> member_name'. Saltará directamente al primer byte.

+0

Y qué bueno es que la memoria simplemente no aparece en ese menú, justo cuando realmente lo necesita y sí, tengo habilitada la depuración del nivel de dirección activada en ... – nus

+0

¿Esto es mientras se ejecuta un programa C++ desde su proyecto bajo el depurador? No aparecerá en situaciones donde no tiene sentido. –

1

VS2005 tiene una pestaña de "memoria" que daría bytes de memoria. No sé exactamente cómo convencerlo para que destaque bloques de hex para que usted le diga qué variables son cuáles.

1

Depurar | Windows | La memoria le permitirá ver cualquier área de memoria que desee (sujeta a limitaciones de proceso/acceso). Esto está en VS2005. Puede ser una estructura de menú ligeramente diferente en otras versiones.

+0

Usando vs 2008 aquí. Gracias sin embargo. – Zombies

+0

Es lo mismo en 2013, así que estoy seguro de que es lo mismo en 2008 – TankorSmash

2

Depurar | Windows | Memoria | Memoria1-4. Coloque la dirección del bloque de memoria que desea ver en la Dirección. Probablemente sea la opción de menú más difícil que alguna vez intentarás ejecutar con tu mouse (verás ...).

En las versiones anteriores de VS, si quería ver el contenido de una variable, necesitaba determinar la dirección de la variable, por lo general utilizaba la ventana de observación.

Sin embargo, en las versiones más recientes, a menudo puede simplemente escribir el nombre de la variable como la Dirección, tal como lo haría en una ventana de observación.

0

No sé si es bueno, pero una búsqueda rápida en Google de "depurador de memoria de pantalla como mapa de bits" apareció Bitmap Memory Debugger, que fue diseñado para usarse junto con otro depurador como Visual Studio o WinDbg.

Cuestiones relacionadas