2011-07-07 55 views
0

我想我在這裏找到了一個simliar線程,但是我不太瞭解它,因爲這與C++有關。當我嘗試增加某些東西時,我的概率似乎也會出現。 Incrementing `static int` causes SIGSEGV SEGV_ACCERR在64bt平臺上崩潰

看着上面的鏈接之後,(因爲我有一種感覺,他們是相似的) 分段錯誤似乎並不總是發生,發生是非常罕見的。轉儲似乎發生在這個函數中,當調用find時。

+0

靜態int並不是您鏈接到的問題中的真正問題,我懷疑它也不適合您。該問題可能在您的查找功能的某處。您可能希望使用像valgrind這樣的內存調試器。 – Eelke

+0

@Eelke - IA-64上沒有valgrind。 wdb用於此目的。 –

+0

@skwllsp,謝謝你的注意,我的手指輸入了錯誤的名字...... – Eelke

回答

0

好像你嘗試給HashTbl :: find key 0.它試圖解引用它並失敗。添加打印key到std :: out並檢查您正在使用哪些鍵。

+0

嗯,id喜歡有點矛盾...正如我所說的核心文件似乎並不是正確的值,所以我不認爲關鍵值是0. 另外,你能告訴我,關鍵值如何得到零?因爲我沒有看到鑰匙變爲零的可能性, key == objectStatName。所以你可以想到鑰匙可以變爲零的場景嗎?我認爲如果你能從中得出一個理論,這將是非常有用的。 ,那麼bt會再向前走一步,並將它拋棄在它沒有的哈希調用上。 – Rahul

+0

那麼,你是對的關鍵。順便說一句,你是否分裂核心文件或在gdb下運行程序? –

+0

你在使用gdb 6.1嗎? –

相關問題