gdb 调试C程序

在调试前需要确认执行文件编译时启用的debug参数

cmake

  cmake -DCMAKE_BUILD_TYPE=Debug ..

gcc

  gcc -g xx.c -o run.out

常用命名

载入源码启动程序

gdb `find /source/fluent-bit/ -type d -printf '-d %p '` bin/fluent-bit

添加参数

(gdb) set args -i tail -o stdout

添加断点

(gdb) break get_api_server_info
# (gdb) break get_api_server_info
# Breakpoint 1 at 0x470077: file /fluent-bit/plugins/filter_kubernetes/kube_meta.c, line 148.

开始调试

(gdb) r

取消显示限制

(gdb) set print element 0

打印变量

(gdb) p xxx
(gdb) p sbuf->Date

执行下一步

(gdb) n

VinkDong

open to open