2013-03-21 81 views
8

我需要檢查一個變量以確定它是否正確設置,這可能發生在多個循環之後。gdb可以在每次中斷時打印特定變量嗎?

我現在正在做的是一樣的東西如下:

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

我能有這個變量decoder.m_msg自動打印每次程序中斷?

回答

10

是的,breakpoint command lists

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

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

不錯!我對此並不熟悉! 'display'可能並不總是有效,因爲一個變量可能超出範圍,但是一個命令列表解決了這個問題。 – 2013-03-21 12:02:34

17

使用display命令:

(gdb> display decoder.m_msg 

這將導致decoder.m_msg要打印該提示顯示(不僅斷點之後)每一次。

相關問題