linux笔记(gcc及gdb调试)

gcc test -o test会生成test
或者gcc -c test生成test.o
在 gcc test -o test最后生成test

gdb调试
gcc -g test -o test 调试模式
gdb test进入调试模式
用r(or run)运行程序

makefile的使用
make,make install,make clean命令

1. 使用gcc命令进行编译(务必需要-g选项)
gcc –g –o buffer buffer.c
2. 启动gdb进行调试
gdb buffer
3. 使用run命令运行程序
r (or run)
4. 根据逻辑找出问题,可附加使用list查看代码
l (or list)
5. 使用break命令设置断点
b (or break) lineNumber or functionName
6. 使用run命令运行程序
r (or run)
7. 使用watch命令指定需要跟踪的变量
watch Buffer
8. 按照终端提示输入input字符串,其他gdb 模式下输入n (or next)或者回车继续执行
9. 重复8,找出症结所在
10.  使用bt命令查看栈信息
11. 使用info b (or break)查看断点信息
12. 使用delete或者clear命令清除断点
13. kill杀死当前正在调试的程序进程
14. 使用quit命令推出gdb调试环境

加载和退出命令
gdb filename:在shell下直接加载文件进行调试
file filename:在gdb下通过file命令加载程序进行调试
kill:终止正在调试的程序
quit:退出gdb调试环境

断点控制
break 函数名或行号[if 条件]
Info break :显示程序中设置的断点;
delete breakpoint 断点号:删除指定的断点
clear 断点号:作用同上
disable breakpoint 断点号:禁用指定的断点
enable breakpoint 断点号:允许指定的断点

程序的控制指令
run:程序开始执行,一直运行到断点才终止;
continue:运行到下一个断点;
next:运行下一条指令;
step:运行下一条指令;

变量、参数的设置与查看
• list:列出产生执行文件的源代码的一部分.
• watch 变量名:当变量改变时,显示变量修改前后的值;
• print 变量名:打印变量值;
• whatis 变量名或函数名:显示变量或函数的类型;
• Ptype:显示数据结构的定义;
• set args:设置程序的运行参数;
• Show args:显示程序的运行参数;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值