2010-09-06 13 views
41

Per la mia applicazione incorporata corrente sto provando a inserire il punto di controllo GDB su un indirizzo di memoria fisso.GDB: Watchpoint a indirizzo fisso

Ad esempio, la mia applicazione aggiorna il seguente indirizzo: 0x10793ad0. Per essere sicuri di quale parte del codice sta corrompendo il valore, ho provato

orologio 0x10793ad0

Anche se GDB non stampa alcun errore dopo questo, non è in grado di rompere durante l'esecuzione, anche se ho verificato il valore viene modificato tra l'inizio e la fine dell'esecuzione.

Domande:

a) Posso davvero mettere orologio ad un indirizzo fisso? Non ho trovato nessun esempio di questo tipo online. b) È questa la strada giusta o mi manca qualcosa?

risposta

62

Il modo corretto per impostare il punto di controllo sull'indirizzo è orologio * 0x10793ad0. Vedi gdb doc

+0

Yup l'ha scoperto. Grazie! –

+8

Se si sta utilizzando un indirizzo fisso perché si desidera vedere una variabile al di fuori dell'ambito locale, utilizzare invece 'watch -l localptr-> member'. –

Problemi correlati