zoukankan      html  css  js  c++  java
  • 多动态库运行时可能出现的莫名其妙的Segment Fault

    前言

    公司里需要开发多个动态库链接在一起的程序,然而经常在一些地方出现莫名其妙的Segment Fault问题,事实上原来可以运行的程序段,却在修改了之后莫名其妙的就不能再运行了

    解决方案

    1.重新编译所有的动态链接库。有时由于文件Z更新了之后,跟Z直接关联的动态库1重新编译了,但在没有直接关联的动态库2没有重新编译,这时很有可能你下意识认为Z跟动态库2不应该有关联,所以没有重新编译动态库2,这时可能就会导致Segment Fault,原因应该是两者对同一个文件的处理方式不同,导致堆栈空间被破坏。

    2.检查你的输入选项。有时你认为的应该出问题的地方,可能并不是问题的关键,反而是一些你认为习以为常的地方出了问题,我在实践中就遇到了这种情况,所以我们在Debug时一定要摆脱惯性思维,对每一步都仔细审阅。

    3.检查越界的下标。 在程序员的世界里数组往往都是从0开始的,有时候不经意间,比如在下标处理时取了z=point[3],这时可能就会越界。

  • 相关阅读:
    委托和异步方法
    线程池_ThreadPool
    委托_deleget
    一步一步实现视频播放器client(二)
    mysql忘记password
    POJ 2456 Aggressive cows (二分 基础)
    Fragment小结
    Cocos2d-x粒子系统
    淘宝数据库OceanBase SQL编译器部分 源代码阅读--解析SQL语法树
    C与C++在形參的一点小差别
  • 原文地址:https://www.cnblogs.com/yemanxiaozu/p/9151774.html
Copyright © 2011-2022 走看看