c - Segmentation fault出现和消失的诡异问题

查看:305
本文介绍了c - Segmentation fault出现和消失的诡异问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

程序运行时出现Segmentation fault,但是在出错代码前加一句简单的printf("here\n");再次编译运行就没出现错误了,这可能是什么原因额。

解决方案

这种错误一般都是由于访问了无效内存(比如悬空指针或者空指针)造成的,但不看代码,没法确定具体原因。如果你的程序是多线程的,那么看一下是不是由于线程之间没有同步(比如A线程释放了指针,但B线程还在用这个指针)造成的。加printf就好了,有可能是因为改变了多线程之间的执行时序,刚好规避了之前的问题。

这篇关于c - Segmentation fault出现和消失的诡异问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆