2011-07-07 54 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吗? –

相关问题