QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 822|回复: 3

古怪的segment falt

[复制链接]
发表于 2005-5-17 10:25:47 | 显示全部楼层 |阅读模式
自己写的东西 运行中每次退出都会报一个segment falt
我估计是什么地方的内存没释放
但是东西太多 很难查 所以只好先放着不管
但是奇怪的是 我因为调试别的部分进入dubug的时候 就不会有这个错误信息出来 只要一步步跟到最后 就不会有segment falt出来
何解?我使用了gdk的thread 但是上述所有步骤都没有起新的线程
发表于 2005-5-17 10:40:24 | 显示全部楼层
内存泄漏是不会引起segment fault的。

debug运行没错那就是时间性问题,时间性问题最好用assert断言来检查。
回复

使用道具 举报

 楼主| 发表于 2005-5-17 11:02:05 | 显示全部楼层
不喜欢assert 大程序需要太多的assert 只会让代码难看
而且我想的也是 如果是时间问题 那么一个单线程跑的程序 那里会出现时间问题呢 想这一点 估计也就能找到出问题的代码了
回复

使用道具 举报

发表于 2005-5-17 12:46:34 | 显示全部楼层
按理说单线程的程序debug时会出一样的错。
你的不出来就只能assert或者加log信息查走到那出了错。
我的经验,segment fault主要有三种情况
1 访问越界
2 访问已经释放的内存
3 函数返回栈被抹了

1中最常见的是错误的访问了申请的内存而抹了内存管理表
导致free或者malloc出错。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 00:24 , Processed in 0.048098 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表