在 CentOS 上开启 GCC 的调试功能,通常是指 编译时加入调试信息,以便用 gdb 等调试器进行调试。下面按常见场景说明。
gcc -g test.c -o test
-g:生成调试信息(默认格式,兼容 gdb)gdb ./test 调试gcc -g3 -O0 test.c -o test
说明:
-g3:包含宏定义等更详细信息-O0:关闭优化(非常重要,否则变量可能被优化掉,调试困难)✅ 调试时强烈建议 -O0
gcc -g3 -O0 -Wall -Wextra test.c -o test
sudo yum install gdb
gdb ./test
常用 gdb 命令:
run
break main
next
step
print var
backtrace
quit
ulimit -c unlimited
gcc -g3 -O0 test.c -o test
gdb ./test core
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
set(CMAKE_BUILD_TYPE Debug)
set(CMAKE_C_FLAGS_DEBUG "-g3 -O0")
-g-O2 等优化
✅ 使用 -g3 -O0-gstripgcc -g3 -O0 test.c -o test
gdb ./test
如果你是 CentOS 7 / 8、gcc 版本问题、或者 内核 / 驱动调试,可以告诉我具体场景,我可以给你更针对性的方案。