什么是core、bug

一、什么是core

1、当程序异常终止或崩溃(出现内存越界)时,操作系统会中止你的进程,并将进程此时的内存中的内容拷贝到磁盘的指定目录下存储,生成一个core文件(是一个内存映像,同时加上调试信息),它记录了程序挂掉时详细的状态描述,以方便编程人员调试。

2、bug和操作系统或硬件的保护机制都会导致程序异常终止。程序最基本的运作基础就是二进位,逻辑判断也只有是与否,所以在写程序时一定要明确的区分各种数据的状态并做对应处置。如果程序员在设计算法时考虑欠佳,没有对可能遇到的异常状态做处理的话,程序运行到了一个自身无法处理的异常状态时,应用程序只能选择强制退出,才能终止这种异常状态,如常见的空指针、数组访问越界等。

二、什么是bug

1、在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为bug(漏洞)。bug可以使电脑系统或应用程序崩溃、容易被施诈者攻击。

2、软件出现bug的原因:对各种流程分支考虑不全面;对边界情况的处理不到位;编码时的手误。

3、更广义的bug(defect):和预期不一致(unexpected)的软件行为,如不符合确认过的需求;和用户的交互习惯不一致;与用户的界面审美不一致等等。

三、调试bug

1、调试,简单说就是借助一些开发工具帮助定位问题。

2、程序开发时都有一些开发环境,同时也会配有调试工具,最常见的调试方法就是断点,程序代码实现的功能虽然千差万别,但是归根结底就是一堆变量在那算来算去,传来传去。如果有BUG,那就说明有变量的计算或传递不符合预期,调试时使用断点就能让程序运行到指定的位置时停下来,冻结现场,这时程序员就能够查看此时的各种变量具体是什么,是按照怎样的逻辑传递到这里的。通过观察复现路径,程序员初步判断BUG可能出现的地点,然后在自己怀疑的地方打上断点,静态观察分析,进一步缩小怀疑范围,然后再次断点分析,直至最终找到BUG藏身之处。


——部分内容整理自网络——

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,613评论 25 709
  • 转载 与调试器共舞 - LLDB 的华尔兹: https://objccn.io/issue-19-2/ 推荐:i...
    F麦子阅读 8,650评论 0 10
  • 从小,我就是个兴趣广泛的孩子。喜欢唱歌,画画,做手工。4年级的时候,学校新来了几个正规师范学校的老师。其中一个是音...
    圣莲花开阅读 1,688评论 1 0
  • 块状元素:Div:块级元素;dl和dt dd:搭配使用;form:交互表单;H1-h6:大标题;hr:水平分割线;...
    咖啡和烟阅读 2,087评论 0 0
  • 因为8月份要参加猫堡吉吉老师的手机绘Q版人物课程,所以想先熟悉一下软件就试着画了一下。 这是我第一次尝试画的,因为...
    斋忧_阅读 3,073评论 8 7

友情链接更多精彩内容