当前位置: 技术问答>linux和unix
为什么常常会coredump?
来源: 互联网 发布时间:2015-05-09
本文导语: 我常用的环境是Sco OpenServer 5.0.5、Oracle 7.3.*,用Pro*C编的程序, 这些程序用cron自动定时执行。 我发现常常会出现进程coredump的情况,有时是堆栈的什么错误、有时是非法指令。 下次再次执行常常就没事了(这几次...
我常用的环境是Sco OpenServer 5.0.5、Oracle 7.3.*,用Pro*C编的程序,
这些程序用cron自动定时执行。
我发现常常会出现进程coredump的情况,有时是堆栈的什么错误、有时是非法指令。
下次再次执行常常就没事了(这几次的执行理论上应是完全一样的)。
有时cron调度的Oracle exp 程序也会coredump。
这是怎么回事?
(个人感觉好像cron调度时出现coredump的情况比直接执行要多一些)
这些程序用cron自动定时执行。
我发现常常会出现进程coredump的情况,有时是堆栈的什么错误、有时是非法指令。
下次再次执行常常就没事了(这几次的执行理论上应是完全一样的)。
有时cron调度的Oracle exp 程序也会coredump。
这是怎么回事?
(个人感觉好像cron调度时出现coredump的情况比直接执行要多一些)
|
应该是你程序 写的有点问题,否则不可能的。指针,数组越界等!
我想和调度没关系。为什么有时候没有呢,那可能是你的程序每次走的地方不一样。
所以这正是你找问题的关键点。依靠为什么有的时候有,有的时候没出现CORE,你就可以判断 出是那的问题了。
我想和调度没关系。为什么有时候没有呢,那可能是你的程序每次走的地方不一样。
所以这正是你找问题的关键点。依靠为什么有的时候有,有的时候没出现CORE,你就可以判断 出是那的问题了。
|
一般越界的可能比较大!
|
很可能是非法使用内存,导致coredump,
仔细检查代码中有关数组,指针,字符串的操作,尤其是字符串一定要赋结束符''
在确知字符串大小的情况下最好使用strncmp,strncpy一类的函数
仔细检查代码中有关数组,指针,字符串的操作,尤其是字符串一定要赋结束符''
在确知字符串大小的情况下最好使用strncmp,strncpy一类的函数
|
数组越界
指针未分配便使用
.....
指针未分配便使用
.....
|
用gdb或dbxtra查看以下是什么产生的core文件。你先推测最有可能产生core的可执行程序
找到后用gdb或dbxtra ~/(可执行程序的路径) core
进入后,用T命令看core文件的堆栈位置设置,马上就可以显示产生core文件的程序的具体在哪一行,然后你在跟踪。很简单。多做几次就知道了
找到后用gdb或dbxtra ~/(可执行程序的路径) core
进入后,用T命令看core文件的堆栈位置设置,马上就可以显示产生core文件的程序的具体在哪一行,然后你在跟踪。很简单。多做几次就知道了
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。