segmentation fault错误分析
来源:互联网 发布:青骑士 知乎 编辑:程序博客网 时间:2024/05/28 05:15
前段时间监控网站时,发现经常报错误,访问不了页面。运维人员就查看了一下Apache的error_log,在日志里发现经常出现segmentation fault的错误信息。线上系统出现这样的问题应该怎么解决呢?怎么样抽丝剥茧发现问题呢?
第一个要做的就是开启coredump,找到可能发现问题的地方。然后将可能发生问题的模块注释掉,确认是否就是那个问题。这一步基本上就能够定位出来是apache的那个模块发现了问题。
第二步就是要分析什么情况下会出现这个错误,找到一种必现的情况来调试。一般情况下这一步是最难的,能够找到这种必现的情况,基本上问题也就解决了。这一次比较幸运,刚好发生了一次大规模的问题,比较容易的就重现了这个问题。发现是一个搜索引擎引起的问题。这里没有什么好的方法来处理,只能是看运气了。
第三步就是分析输入输出了,看一下是什么样的输入导致了问题。网络程序主要使用tcpdump来截获输入输出流。-s 1024参数来捕获数据包的内容,-A打印可见字符。分析在错误的情况下的输入输出有什么不同。得到初步估计的情况。
第四步就是debug了,采用gdb来调试。使用run –X来执行apache。在这个过程中碰到了一个大问题,因为编译后的程序都是优化过的,调试过程中的很多中间变量被优化了,不能print值出来,还有一点就是出错的地方不一定就是真正出错的地方,可能在下一步。这样就找到了问题的地方。从后面来看,中间还走了一次弯路。看coredump的时候就应该能定位出问题的所在了,而不应该是后续的这么多步骤了。
- segmentation fault错误分析
- segmentation fault错误分析
- 段错误(segmentation fault)
- 关于Segmentation fault错误
- 段错误(segmentation fault)
- 调试Segmentation Fault错误
- 总结段错误(Segmentation fault)
- 总结段错误(Segmentation fault)
- "Segmentation fault(段错误)"探究
- Segmentation fault(段错误)探究
- 总结段错误(Segmentation fault)
- 总结段错误(Segmentation fault)
- 段错误总结(segmentation fault)
- Linux段错误(Segmentation fault)
- mysql_real_query()段错误(Segmentation fault)
- mysql报Segmentation fault错误
- Segmentation Fault错误原因总结
- 恢复linux服务器 segmentation fault错误
- 【总结】IE和Firefox的Javascript兼容性总结
- C# 操作Excel,控制格式
- JAVA6开发WebService (五)—— JAXB
- 布局技巧:创建高效布局
- Design Pattern之初见
- segmentation fault错误分析
- HDU 1248 - 寒冰王座
- js 仿商城分类目录
- 多线程断点续传--java
- 【经验积累】SQL语句
- #.net 中的 HttpWebRequest 和 HttpWebResponse 类发送客户端证书
- 定义函数自己的属性
- 学生原创诗一首
- HDU 1234 - 开门人和关门人