1 | gcc -g main.c -o exe | 编译main.c文件,生成可用gdb调试的可执行文件exe |
2 | indent main.c -st | 将main.c文件内容按照默认代码格式排版,并输出到屏幕(不修改源文件的排版) |
3 | indent main.c | 将main.c文件内容按照默认代码格式排版 |
4 | gcc -c main.c main.h | 将main.c生成目标文件main.o |
5 | ar crv libfoo.a fun1.o fun2.o | 将目标文件fun1.o,fun2.o归到目标文件(静态链接库)libfoo.a中 |
6 | nm ./exe | 显示可执行文件exe的各函数路口地址 |
7 | ldd ./exe | 显示可执行文件exe的依赖性 |
8 | make -f Makefile_full | 用Makefile_full编译程序 |
9 | gdb -q exe | 进入调试模式(gdb),并且不显示欢迎界面。 |
10 | 进入gdb控制台后,输入quit | 退出gdb |
11 | 进入gdb控制台后,输入shell | 新建shell控制台,并进入此控制台(在此控制台下,输入exit可退回gdb控制台) |
12 | 进入gdb控制台后,输入b 13 | 在当前代码第13行设置断点 |
13 | 进入gdb控制台后,输入info b | 查询当前所设置的断点个数,并打印出断点列表 |
14 | 进入gdb控制台后,输入delete 2 | 删除断点列表中Num为2的断点 |
15 | 进入gdb控制台后,输入r | 使程序重新运行 |
16 | 进入gdb控制台后,输入clear | 删除当前断点 |
17 | 进入gdb控制台后,输入list | 显示当前代码行为中心行的前后10行代码 |
18 | 进入gdb控制台后,输入list 19 | 显示代码行第19行为中心的前后10行代码 |
19 | 进入gdb控制台后,输入print d | 打印变量d的值 |
20 | 进入gdb控制台后,输入print d = 2 | 将变量d的值改为2 |
21 | 进入gdb控制台后,输入info prog | 查看当前程序执行到代码第几行 |
22 | 进入gdb控制台后,输入c | 从当前断点处继续向下执行(若当前程序已结束,为重新开始执行,则c键没用),直到执行到下一个断点处停止,或者程序执行完毕时停止 |
23 | 进入gdb控制台后,输入n | 单步执行 |
24 | 进入gdb控制台后,输入s | 进入下一层函数(进入函数内部)继续执行 |
25 | 进入gdb控制台后,输入finish | 跳回上一层函数继续执行 |