博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gcc编译与gdb调试
阅读量:3590 次
发布时间:2019-05-20

本文共 844 字,大约阅读时间需要 2 分钟。

一、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 改变断点的触发条件

转载地址:http://ssown.baihongyu.com/

你可能感兴趣的文章
linux系统设置oracle开机自启
查看>>
数据库的五种索引类型
查看>>
设计模式之原型模式
查看>>
设计模式之建造者模式
查看>>
设计模式之代理模式
查看>>
设计模式之门面模式
查看>>
设计模式之装饰器模式
查看>>
设计模式之享元模式
查看>>
设计模式之组合模式
查看>>
设计模式之委派模式
查看>>
设计模式之模板方法模式
查看>>
设计模式之策略模式
查看>>
设计模式之责任链模式
查看>>
怎么成为一个合格的ERP系统管理员
查看>>
企业为什么要用ERP
查看>>
ERP计划层次探讨
查看>>
ERP的五大核心思想
查看>>
ERP、PLM是什么意思?ERP、PLM有什么内在联系
查看>>
公司升级ERP管理系统的三大诱因
查看>>
Android四大应用组件(一)——Activity
查看>>