2010-12-18 27 views
2

我調試的程序,並且發現自己做這一切的時候存儲值,而調試

(gdb) p edges[i] 
$9 = (std::pair<int, int> &) @0x7ffff427b790: {first = 26349, second = 25679} 
(gdb) p nodes[26349].parent 
$10 = 25679 

我想要做什麼是一樣的東西

(gdb) v = edges[i] 
(gdb) p nodes[v.first].parent 
$11 = 25679 

變量v是唯一邊緣[i]的簡寫符號/別名。是這樣的可能嗎?

回答

2

想通了。這就是所謂的在gdb方便變量的語法如下:

(gdb) set $v = edges[i] 
(gdb) p nodes[$v.first].parent 
$11 = 25679 

讀取$11 = 25679商店也以方便變量存儲的最後一個值,所以你可以做p $11線。 Nifty