1

我正在尝试将 push_back 函数用于 c++ 中的向量。我遇到了段错误,当我运行 gdb 以找到确切原因时。

我得到以下。

$1={px = 0xbfffe9c4, pn = { pi_ = 0x8049c0b}}

我对 gdb 没有太多经验,也无法在网上找到与此特定问题相关的任何内容。

4

1 回答 1

3

我的魔法球告诉我你在取消引用时崩溃了shared_ptr。关注该px成员,因为这是您感兴趣的实际指针值。例如,您可以尝试:

print $1.px

如果指针指向一个有效的内存区域:

print *$1.px

调试器gdb会为你提供很多信息,但一些更有用的东西:backtraceupdowninfo locals,如果你是多线程的,thread apply all backtrace. 如果您正在现场调试,那么您当然需要breakpointnext和. 您应该能够使用的帮助来获取更多信息,并且该手册可以在线获取。stepcontinuegdbgdb

于 2012-06-26T00:57:04.553 回答