首页IT科技怎么用gdb调试段错误(用gdb调试程序笔记: 以段错误(Segmental fault)为例_哎呀呀!_百度空间)

怎么用gdb调试段错误(用gdb调试程序笔记: 以段错误(Segmental fault)为例_哎呀呀!_百度空间)

时间2025-06-13 15:37:26分类IT科技浏览5086
导读:2011-06-05 12:52...

2011-06-05 12:52

这个笔记是我以前发表在电子科大的BBS上的             ,大家反应较好                    ,特贴到这里和童鞋分享!

笔记内容:

1.背景介绍

2.程序中常见的bug分类

3.程序调试器(如gdb)有什么用

4.段错误(Segmental fault)介绍

5.gdb调试入门

一             、背景介绍

这个笔记主要介绍开源的程序调试器(gdb)的入门知识       ,目的是使unix/linux环境的编程新手能够快速学会使用gdb调试程序的方法      ,同时也是对我使用gdb的一个经验总结             。

本文假设你能使用简单的unix/linux命令并能用gcc(GNU C Compiler                    , GNU C 语言编译器)编译程序             ,当然有编程经验更好                    。:)

为帮助你理解和操作      ,我将使用我遇到过的真实事例来演示使用gdb调试有缺陷(bug)的程序过程                    ,你看过这篇笔记后能自己动手练一下最好       。

二                    、程序中常见的缺陷(bug)分类

程序(编译型程序             ,perl       、python,php等脚本程序除外)中常见的bug通常分为两类: 语法错误和逻辑错误                    ,或者编译时错误和运行是错误             。

语 法错误(编译时错误)是我们在编写源代码时没有按照相关的语言规范(如ANSI C标准)导致编译时出错                    ,编译失败                   。这种错误的检查和调试一般是比较简单和直接的:因为编译器(如gcc)通常会明确告诉你错误的原因和大致的范围(注意 不一定是准确的错误行)       。例如下面的一个简单demo.c程序的第8行缺失了一个分号,gcc指示第10行前少了一个分号       。这就是一个典型的语法错误                   。

geekard@geekard:~/test$ cat -n demo.c

1#include

2

3int

4main(){

5

6int n;

7

8printf("the n is:%c", n)

9

10return 0;

11}

geekard@geekard:~/test$ gcc demo.c -o demo

demo.c: In function ‘main’:demo.c:10:

error: expected ‘;’ before ‘return’
声明:本站所有文章             ,如无特殊说明或标注                    ,均为本站原创发布             。任何个人或组织       ,在未征得本站同意时             ,禁止复制      、盗用                    、采集             、发布本站内容到任何网站      、书籍等各类媒体平台       。如若本站内容侵犯了原著者的合法权益                    ,可联系我们进行处理                    。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
vue腾讯地图 如何定位当前位置(vue – vue使用腾讯api进行定位获取,绘制地图、标点、搜索、路线规划) 文心啥意思(「文心一言」内测详细使用体验)