• 3852阅读
  • 4回复

我也是段错误,我是想在切换时产生的 [复制链接]

上一主题 下一主题
离线kafeikejian
 

只看楼主 倒序阅读 楼主  发表于: 2009-07-18
我按下一个按钮,就可以切换到另外一个界面中去,这个时候就产生了段错误。不知道为什么。这是怎么一回事啊?
离线xymail110
只看该作者 1楼 发表于: 2009-07-23
        根据我仅有的一点调试经验,段错误基本上都是数组/指针等引起的.数组越界/指针为空等类似问题,建议仔细检查相关的数组和指针变量.
学无止境
离线jorneyr

只看该作者 2楼 发表于: 2009-07-23
支持楼上, 这种问题常遇到, 一般只要是程序异常退出, 大部分都是空指针, 野指针, 数组访问越界造成的, 仔细检查一下程序, 看看程序运行到哪出现了错误退出.

小提示: 指针最好要初始化, 起码也要初始化成 p = 0. 删除后也要赋值为0, 即使在析构函数中删除, 因为如果有继承的情况的时候, 父类析构函数中如 delete p; 然后你不小心也在子类的析构函数中又再次调用了 delete p; 这时程序就很可能异常退出, 因为p这时所指的空间已经回收给系统, 并不知道是否已经再次被分配使用, 我就干过这种蠢事, 找了很久才找出来, 吐血.
离线jorneyr

只看该作者 3楼 发表于: 2009-07-23
ServiceNodeShower::~ServiceNodeShower() {
    delete totalModel;
    delete detailModel;
    delete serviceNodeDAO;

    totalModel = 0;
    detailModel = 0;
    serviceNodeDAO = 0;
}

就是这段代码, 搞死人了.
离线zhenwoln

只看该作者 4楼 发表于: 2009-07-23
调试一下啊,看段错误发生在什么地方就看出什么毛病了
快速回复
限100 字节
 
上一个 下一个