2013-03-21 14 views
8

Ho bisogno di controllare una variabile per scoprire se è impostata correttamente, cosa che potrebbe accadere dopo diversi cicli.È possibile che gdb stampi una variabile specifica ogni volta che si rompe?

Quello che sto facendo ora è qualcosa come segue:

(gdb) b myfile.cpp:180 
(gdb) c 
(gdb) p decoder.m_msg 
(gdb) c 
(gdb) p decoder.m_msg 
(gdb) c 
... 

posso avere questa variabile decoder.m_msg stampati automaticamente ogni volta che le interruzioni del programma?

risposta

10

Sì, con breakpoint command lists:

$ break myfile.cpp:180 
Breakpoint 1 at 0x46ba0e: file myfile.cpp, line 180. 

$ commands 1 
> print decoder.m_msg 
> end 
$ 
+0

Nizza! Non avevo familiarità con questo! 'display' potrebbe non funzionare sempre perché una variabile potrebbe essere fuori portata, ma una lista di comandi la risolve. –

17

utilizzare il comando display:

(gdb> display decoder.m_msg 

Questo farà sì che decoder.m_msg da stampare ogni volta che la richiesta viene mostrata (non solo dopo un punto di interruzione).

Problemi correlati