-1
我在调用p_o-> p_order _-> somefunc()时遇到了segfault错误。我看着调试器,看到共享指针的计数器看起来很奇怪。它显示了共享PTR和弱PTR大COUTN负号数(这是我从来没有使用过)当智能指针显示负数usecount时,这意味着什么
p_o @0x60c3331 Online::sptrOrder
data @0x60c3331 Online::OrderMgr
p_order_ 0x20000000009b6b7 Online::Order *
id_ 40 long
usecount -1602224128 int
weakcount 636599 int
px 1.99 double
is_fruit_ false bool
size 10 long
难道我误会这里介绍的或者是有事情一些奇怪的信息? 另外,我不太熟悉的调试器,但..没有缺少行
p_order_ 0x20000000009b6b7 Online::Order
意味着指针p_order_的@address的(这是一个原始指针)是不是有效/无效,. 。?或者是0x20000000009b6b7某种地址?
这意味着您的代码在某处存在错误,导致堆损坏。 –
如果你想得到更多的答案而不是“某处已经堆积了堆”的话,请发布[mcve],这是我们可以用这些信息说的所有事情。 –