CoreDump错误相关资料

CoreDump错误调试

1.1. CoreDump错误调试

1.1.1. 关键字
CoreDump、调试

1.1.2. 程序coredump的原因有那些?
程序产生Coredump实际上是进程收到SIGBUS(信号10)或SIGSEGV(信号11)信号而产生的内存转储,即总线错误或内存侵犯。
总线错误是访问内存操作偏移量不正确造成的,比较典型的是结构变量成员操作时,偏移量错误。
应用程序coredump一般情况都是由内存侵犯造成的,以下列出了一些可能发生coredump原因:
 对指针变量的使用错误,如没有申请空间等即操作指针变量;
 由于给字符串变量赋值时,给定的字符串超过了字符串变量的最大存储空间;
 在函数中的整型变量没有赋初值,对于用这个变量操作字符串数组,超出数组最大维数,引起内存侵犯;
 64位环境中,int型和long型字节数不一样,不能再使用int类型变量的地址作为long指针;
 调用函数参数个数不符,最典型的是printf中的s%、d%等和后面的变量不匹配;(如:printf("%s" , iLen ); iLen为int型变量,会coredump)
 通讯包的格式转换函数使用不当导致越界;
 采用封装函数时,用整型存储数据库函数count,引起越界,应该用double类存储。

1.1.3. 怎样知道是那个程序产生的core文件?
Core文件一般产生在运行程序存放的目录下或程序运行时的当前路径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值