程序接收到的信号SIGSEGV,分段错误(program received signal SIGSE

2019-10-29 01:44发布

我运行在多线程环境中的程序失败在一些点。 当我用gdb尝试过比它shoing以下错误。

程序接收到的信号SIGSEGV,段故障。

[切换到线程0x7fff677b700(LWP 2777)]在C / mgmt.c在process_incomplete_rows 0x00007ffff7aa42b9(结果集= 0x507950):479 479 C / mgmt.c:没有这样的文件或目录。

mgmt.c文件是存在的,这个代码是工作的罚款对一些选项,但2个或三个选项它给这个错误。 可能是什么这个错误的原因。 其comiplation或COE错误? 或者它的错误,同时访问了一些数据?

Answer 1:

分割故障是一个运行时错误通常是由于引用了无效的指针。 通常是无效的指针始终没有被初始化,但有时它是重复使用旧的指针或写入过去分配的内存块的结尾(例如过去字符串的结尾)。



Answer 2:

这可能意味着你的node变量或者是NULL或损坏。 在调试器中运行您的程序,通过它从某个时刻崩溃,直到它之前,步进,看看你把事情搞糟。 或者使用的自动化工具,如Purify的一个或投保++来追查你。



文章来源: program received signal SIGSEGV, segmentation fault