2010-09-06 18 views
41

Para mi aplicación incorporada actual, estoy tratando de poner el punto de observación GDB en una dirección de memoria fija.GDB: Watchpoint una dirección fija

Como ejemplo, mi aplicación actualiza la siguiente dirección: 0x10793ad0. Con el fin de estar seguro de qué parte del código está corrompiendo el valor, he intentado

reloj 0x10793ad0

A pesar de que el BGF no se imprime ningún error después de esto, no es capaz de romper durante la ejecución a pesar de que verifiqué el valor se modifica entre el inicio y el final de la ejecución.

Preguntas:

a) ¿Puedo realmente poner el reloj en una dirección fija? No encontré ningún ejemplo en línea. b) ¿Es esta la manera correcta o me estoy perdiendo algo?

Respuesta

62

La manera correcta de establecer el punto de observación en la dirección es reloj * 0x10793ad0. Ver gdb doc

+0

Yup lo descubrió. ¡Gracias! –

+8

Si está usando una dirección fija porque quiere ver una variable fuera del alcance local, use 'watch -l localptr-> member' en su lugar. –

Cuestiones relacionadas