gdb使用

78 阅读1分钟

基础使用

  1. 编译代码
# 使用-g选项编译出可调试的执行程序
gcc -g - o test.o test.c
  1. 调试程序
gdb test.o
  1. 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      }
  1. b (break point)打断点
(gdb) b 4
Breakpoint 1 at 0x1155: file test.c, line 4.
  1. r(run)执行程序
Starting program: /home/tang/work/c/a.out

Breakpoint 1, main () at test.c:4
4               int i = 0;
  1. n (next)执行下一步
(gdb) n
5               for (; i < 10; i++) {
(gdb) n
6                       printf("%d\n", i);
  1. p (print)打印值
(gdb) p i
$1 = 0
(gdb) p &i
$2 = (int *) 0x7fffffffe06c