gcc/g++ & gdb调试

7 篇文章 0 订阅
gcc / g++

gcc code1.c -o code1

显示编译的中间过程:
gcc -save-temps code1.c -o code1 (会生成 code1.i, code1.s, code1.o, code1 四个文件)
或:
gcc -E code1.c -o code1.i 生成 .i 预处理文件
gcc -S code1.i -o code1.s 生成 .s 汇编文件
gcc -C code1.s -o code1.o 生成 .o 目标文件

gdb 调试
  • gcc -g code1.cpp -o code1 (-g 用来 gdb 调试)
  • gdb ./code1 (开始 gdb 调试)
  • l (list 出代码)
  • b 8 (在第 8 行处 break 设置断点)
  • r (run 运行到断点处)
  • p i (print 出变量 i 的当前值)
  • backtrace(当发生错误时追溯错误,会以 #1、#2 …… 的形式列出错误)
  • frame 3 (显示 backtrace 出的第 3 条错误的代码文本)
  • quit (退出 gdb 调试)
  • man 7 signal 可以查看 SIG 信息,如 man 7 signal | grep SEGV
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值