2
所以我在GDB運行的程序,並予設定的觀察點一定變量(一個對象的指針,具體而言),它存在於地址0x6030b0:GDB觀察點在未檢測變化可變
(gdb) wa (TNode<UCSDStudent> **)0x6030b0
Watchpoint 7: (TNode<UCSDStudent> **)0x6030b0
我知道指針的值:
(gdb) p/x *((TNode<UCSDStudent> **)0x6030b0)
$5 = 0x603130
我在線路115設置斷點,我的程序結束。然後我繼續這個斷點:
(gdb) c
Continuing.
No more reverse-execution history.
main (argc=2, argv=0x7fffffffd9a8) at Driver.c:115
115 ST.Write(cout << "\nFinal Symbol Table:\n");
這意味着指針的值沒有改變,因爲gdb沒有停在任何觀察點。我現在打印指針的值:
(gdb) p/x *((TNode`<UCSDStudent>` **)0x6030b0)
$6 = 0x0
但是,指針的值顯然確實發生了變化。什麼可以解釋這一點?
謝謝。