基础使用
- 编译代码
# 使用-g选项编译出可调试的执行程序
gcc -g - o test.o test.c
- 调试程序
gdb test.o
- l(list)查看代码
(gdb) list
1 #include <stdio.h>
2
3 int main() {
4 int i = 0;
5 for (; i < 10; i++) {
6 printf("%d\n", i);
7 }
8
9 return 0;
10 }
- b (break point)打断点
(gdb) b 4
Breakpoint 1 at 0x1155: file test.c, line 4.
- r(run)执行程序
Starting program: /home/tang/work/c/a.out
Breakpoint 1, main () at test.c:4
4 int i = 0
- n (next)执行下一步
(gdb) n
5 for (; i < 10; i++) {
(gdb) n
6 printf("%d\n", i);
- p (print)打印值
(gdb) p i
$1 = 0
(gdb) p &i
$2 = (int *) 0x7fffffffe06c