• 8449阅读
  • 12回复

[提问]低层由于受到系统信号而停止 怎么回事? [复制链接]

上一主题 下一主题
离线蜗牛gogo
 
只看楼主 倒序阅读 楼主  发表于: 2011-11-22
离线uidab

只看该作者 1楼 发表于: 2011-11-22
回 楼主(蜗牛gogo) 的帖子
Qt版本? 这个不好说,不过大部分是自己的程序的问题!
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线jorneyr

只看该作者 2楼 发表于: 2011-11-22
Segmentation fault很多时候都是使用了非法指针,野指针。
我遇到更离谱的是在一个单态的析构函数里因为使用了qDebug()而出现与你这个一样的错误而程序异常退出,删除掉那个qDebug()语句一切正常。

所以这个原因只能慢慢找,不一定是什么原因,有的时候是莫名其妙的
离线uidab

只看该作者 3楼 发表于: 2011-11-22
回 2楼(jorneyr) 的帖子
qDebug这个很离谱啊!!!还好你找到了!
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线zhy282289
只看该作者 4楼 发表于: 2011-11-22
qdebug有这么的啊? 汗了
为什么我脸这么胖~
离线jorneyr

只看该作者 5楼 发表于: 2011-11-22
Re:回 2楼(jorneyr) 的帖子
引用第3楼uidab于2011-11-22 12:08发表的 回 2楼(jorneyr) 的帖子 :
qDebug这个很离谱啊!!!还好你找到了!

这种问题很头痛,很难发现
离线begboy

只看该作者 6楼 发表于: 2011-11-22
这个信号是一般是Unix 下 编译执行内存操作出错较常见。

例如:SCO Unix或者AIX 下执行CC(或其他C编译器)
,若程序对一个已释放的内存进行操作往往会出现上述信号提示。
估计楼主是在Linux 下使用Qt。
建议检查你的程序是否有 new 出缓存后,delete 后继续使用相关指针;
或者Qt 在退出类时自动帮你释放时导致二次释放产生错误。
建议用qt单步调试,或者直接用gdb进行调试。
祝好运。
begboy

离线roywillow

只看该作者 7楼 发表于: 2011-11-22
回 6楼(begboy) 的帖子
可是从那个窗口来看,很明显是win7吧……
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线jdwx

只看该作者 8楼 发表于: 2011-11-22
Re:回 6楼(begboy) 的帖子
引用第7楼roywillow于2011-11-22 20:03发表的 回 6楼(begboy) 的帖子 :
可是从那个窗口来看,很明显是win7吧……

我早就看出来了,没说!
虽然不是win7,但是问题原因没错,绝对是出在指针那里。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线蜗牛gogo
只看该作者 9楼 发表于: 2011-11-22
回 6楼(begboy) 的帖子
[attachm[attachment=7167]ent=7167]
离线ppacctv
只看该作者 10楼 发表于: 2011-11-22
回 楼主(蜗牛gogo) 的帖子
我在虚拟机中写软件时,工程通过共享文件夹的方式在宿主机中,当进行调试时会出现这样的问题,后将工程移回虚拟机中就可以了。(虚拟机xp,宿主机是win7,虚拟机环境是vmware8.0)
离线zsmdev
只看该作者 11楼 发表于: 2011-11-23
引用第2楼jorneyr于2011-11-22 12:06发表的  :
Segmentation fault很多时候都是使用了非法指针,野指针。
我遇到更离谱的是在一个单态的析构函数里因为使用了qDebug()而出现与你这个一样的错误而程序异常退出,删除掉那个qDebug()语句一切正常。
所以这个原因只能慢慢找,不一定是什么原因,有的时候是莫名其妙的

我也遇到过
离线chisely
只看该作者 12楼 发表于: 2011-11-23
new了之后没有判断指针,这是很不负责任的
快速回复
限100 字节
 
上一个 下一个