本文主要是介绍Process finished with exit code 139 (interrupted by signal 11: SIGSEGV),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)-CSDN博客
139错误是Linux错误代码(参考Linux code error 139),异常导致某个进程崩溃产生的,可以出现在任何语言、程序中。其产生的原因也有很多,可能时内存泄漏、依赖的库版本不匹配、环境不满足等。在程序中只能debug逐步定位出错位置,揣测出错原因。
类似的段错误包括:SIGSEGV, SIGABRT, SIGBUS,以下转载自:程序段错误处理
对同一个指针free() 2次可能会产生SIGABRT
SIGBUS与SIGSEGV区别:
SIGBUS(Bus error)意味着指针所对应的地址是有效地址,但总线不能正常使用该指针。通常是未对齐的数据访问所致。
SIGSEGV(Segment fault)意味着指针所对应的地址是无效地址,没有物理内存对应该地址。
结论
SIGSEGV: 一般是非法内存访问错误;
SIGABRT: 重复释放内存则会导致;
SIGBUS : address alignment可能会导致。
程序中处理
这篇关于Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!