我试图在c ++中使用push_back函数作为向量。 我得到一个seg错误,当我运行gdb找到确切的原因。
我得到以下内容。
$1={px = 0xbfffe9c4, pn = { pi_ = 0x8049c0b}}
我对gdb没有多少经验,也无法在线找到与此特定问题相关的任何内容。
答案 0 :(得分:2)
我的魔球告诉我你在解除引用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可以在线获取。