gcc编译与gdb调试简要步骤

http://blog.chinaunix.net/uid-24103300-id-108248.html

一、Linux程序gcc编译步骤:

Gcc编译过程主要的4个阶段:

l 预处理阶段,完成宏定义和include文件展开等工作;(.i)

l 根据编译参数进行不同程度的优化,编译成汇编代码(.s.S)

l 用汇编器把汇编代码进一步生成目标代码(.o)

l 用连接器把生成的目标代码和系统或用户提供的库连接起来,生成可执行文件

格式:

l gcc -E test.c//预处理阶段

l Gcc -S test.c//编译阶段

l Gcc -c test.c//汇编阶段

l Gcc -o test test.c//链接阶段

二、Linux程序gdb调试步骤:

Gdb的功能:

l 设置断点

l 监视程序变量的值

l 程序的单步执行

l 显示、修改变量的值

l 显示、修改寄存器

l 查看程序的堆栈情况

l 远程调试

Gdb调试过程:

1、程序经过预处理后,即进入编译阶段,进入编译阶段,首先声明编译:

2、格式:gdb -o test test.c -g

3、进入编译:gdb test

4、显示需要编译调试的源程序:l(list)//list filename

5、设置断点:b(break)行号

6、查看设置的断点:info b

7、运行调试程序:run

8、跳到下一个断点:c(continue)

9、单步运行的话使用:n(next)/s(step into)跳到函数体 //区别在与:next执行函数体,而step不执行函数体

10、调试过程中查看某个变量的变化:print i (每次都要手动设置)//display i(设置一次一直尾随,直到用“undisplay 变量标号” 停止)

11、退出当前的调试使用finish 跳出函数

12、清楚断点 clear 行号

13、Delete 断点信息序号// 删除所有断点或设置的要删除的断点

14、退出调试 q

15、b  num  if  i==20 设置断点的触发条件

16、condition num i==50 改变断点的触发条件

(0)

相关推荐

  • GDB高级技巧:同一个Bug,5种解决方案,不修改源码,不重新编译

    GDB高级技巧:同一个Bug,5种解决方案,不修改源码,不重新编译

  • VSCode自制的IDE编译多个源文件

    文/Edward 前一篇文章中,我们讲述了如何利用VSCode软件来搭建一个C语言的开发环境,这个C语言的开发环境和我们之前<乐创C语言教程>里面所讲述的有很大差别,这些差别在我看来对于那 ...

  • 用图文带你彻底弄懂GDB调试原理

    一.前言 这篇文章来聊聊大名鼎鼎的GDB,它的豪门背景咱就不提了,和它的兄弟GCC一样是含着金钥匙出生的,在GNU的家族中的地位不可撼动.相信每位嵌入式开发工程师都使用过gdb来调试程序,如果你说没有 ...

  • 巨人通力GPS30K系统维修终极调试操作步骤

    巨人通力GPS30K 在平时维修排查故障的过程中,有时会进行调换主板.驱动板的操作.在把两部电梯的电脑板互换后需要做一下数据下载,即5-7-1或5-7-2建议此操作最好将电梯处于下端站门区位置进行. ...

  • 松下门机变频器调试方法步骤(上)

    默纳克NICE900门机调谐门宽自学习调试 默纳克NICE900同步机调试 默纳克NICE900异步机调试 最新展鹏门机高级调试手册(上) 最新新国标展鹏门机开关接线说明(中) 西子奥的斯DO3000 ...

  • GDB调试堆漏洞之house of spirit

    何为house of spirit? 该技术出自于2005年的The Malloc Maleficarum这篇文章,是一种用于获得某块内存区域控制权的技术 例如一个位于fastbin的区块是不可控的, ...

  • linux下如何用GDB调试c 程序

    GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比 ...

  • GCC(警告.优化以及调试选项)

    [介绍] gcc and g 分别是gnu的c & c 编译器    gcc/g 在执行编译工作的时候,总共需要4步    1.预处理,生成.i的文件 预处理器cpp 2.将预处理后的文件不转 ...

  • 奥的斯电梯DO3000门机调试详细步骤

    奥的斯电梯DO3000门机调试详细步骤

  • 运转调试的步骤(1)

    (1)调试前准备 1)熟悉液压设备的工作性能.阅读研究液压设备的使用说明书及有关技术资料,全面了解设备的结构.性能,工作周期,加工对象,使用要求和操作方法,以及机械.电气.气动与液压系统的相互关系. ...

  • 运转调试的步骤(2)

    (2)空载运转 设备空载运转是全面检查液压系统各回路和各个液压元件,各种辅助装置的工作是否正常可靠,工作循环或各种动作的自动转接是否符合要求,以便作好负荷运转的准备工作.具体步骤可参照下列各项进行: ...

  • 运转调试的步骤(3)

    (3)负载运转 负载运转是液压系统按实际工作要求或按设计预定的负载进行工作.检查内容主要有以下一些方面: 液压系统能否实现力和速度等基本参数要求.工作部件运动.换向.速度换接时的平稳性,不允许存在爬行 ...