1
我想在C++中使用push_back函數作爲向量。 我得到一個seg故障,當我跑gdb找到確切的原因。瞭解gdb輸出
我收到以下內容。
$1={px = 0xbfffe9c4, pn = { pi_ = 0x8049c0b}}
我對gdb沒有太多經驗,也無法在線找到與此特定問題相關的任何內容。
我想在C++中使用push_back函數作爲向量。 我得到一個seg故障,當我跑gdb找到確切的原因。瞭解gdb輸出
我收到以下內容。
$1={px = 0xbfffe9c4, pn = { pi_ = 0x8049c0b}}
我對gdb沒有太多經驗,也無法在線找到與此特定問題相關的任何內容。
我的魔球告訴我你墜毀了而引用了shared_ptr
。請關注px
成員,因爲這是您感興趣的實際指針值。例如,你可以嘗試:
print $1.px
,如果將光標指向一個有效的存儲區:
print *$1.px
的gdb
調試器會爲您提供了大量的信息,但是一些比較有用東西:backtrace
,up
,down
,info locals
,如果你是多線程的,thread apply all backtrace
。如果您正在進行現場調試,那麼您當然需要breakpoint
,next
,step
和continue
。您應該可以使用gdb
的幫助來獲得更多信息,並且gdb
manual可以在線獲取。
你明白了嗎? –
[如何獲取gdb中數據成員的值?](http://stackoverflow.com/questions/10814170/how-to-get-value-of-a-data-member-in-gdb) –