-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],這是我們可以用這些信息說的所有事情。 –