gcc 和 gdb 常用命令

gcc常用命令

gcc编译分为以下四个步骤:

  • 预处理 .c -> .i 【预处理器】gcc -E hello.c > pianoapan.txt,gcc -E hello.c | more
  • 将预处理的文件转换为汇编文件 .i -> .s【编译器】gcc -S hello.c
  • 将汇编文件转换为二进制文件 .s -> .o 【汇编器】gcc -c hello.c
  • 链接,生成可执行文件 【连接器】 gcc hello.c

常用命令:

  • -o 指定输出文件名
  • -g 允许调试
  • -shared 生成共享库
  • -LDIRECTORY 指定额外库目录
  • -IDIRECTORY 指定额外头文件目录
  • -O0 不进行优化处理
  • -O 或 -O1 进行优化处理,不同级别优化-O2, -O3

gdb常用命令

  • gdb hello.o 开始对hello.o文件进行调试
  • gdb -tui 分屏调试,实时显示源代码
  • file hello.o 指明可执行文件进行调试
  • list 或 l显示代码
  • start 开始单步调试
  • next 或 n 下一步,遇到函数直接执行整个函数,不进入函数
  • step 下一步,遇到函数进入函数内部
  • until 运行程序直到退出当前循环体
  • return 0 强制退出当前程序,并直接返回0
  • run args 重新开始调试, 可通过args输入参数
  • p variable 打印变量variable的值
  • set var a = 6 将变量 a 的值设为 6
  • x/20xw 0x7ffffffffffff 查看对应内存处的值,显示20个单元,16进制,4字节每单元。 (x: 16进制, d:10进制, o: 8进制, t: 2进制, c:字符形式, f:浮点格式)
  • break file:num if testsize==100 在file文件num行设置断点(条件断点),省略file则在当前文件设置断点
  • delete N 删除N号断点
  • delete 删除所有断点
  • clear N 清除N之前的所有断点
  • info breakpoints 查看当前设置的所有断点
  • q 退出
  • bt 查看函数堆栈
  • f n切换到编号为n的堆栈
  • finish 结束当前函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值