在CentOS系統中,GCC(GNU編譯器集合)提供了多種調試命令和選項,以幫助開發者診斷和修復程序中的問題。以下是一些常用的GCC調試命令:
-g
-Og
-O1
,但優化不會干擾調試。它平衡了編譯速度和調試體驗。-Wall
-Wextra
-pedantic
-std=c99 或 -std=c++11 等
-o output_file
gdb (GNU Debugger)
gdb ./your_program
break main
run
print variable_name
step
next
continue
backtrace
quit
objdump
objdump -d ./your_program
objdump -t ./your_program
readelf
readelf -a ./your_program
nm
nm ./your_program
valgrind
valgrind --leak-check=full ./your_program
strace
strace ./your_program
ltrace
ltrace ./your_program
假設你有一個名為hello.c
的C程序,你可以使用以下命令進行編譯和調試:
# 編譯帶有調試信息的程序
gcc -g -o hello hello.c
# 啟動GDB并加載程序
gdb ./hello
# 在main函數處設置斷點
(gdb) break main
# 運行程序
(gdb) run
# 程序在斷點處停止后,查看變量值
(gdb) print variable_name
# 繼續執行
(gdb) continue
# 查看調用棧
(gdb) backtrace
# 退出GDB
(gdb) quit
通過這些工具和命令,你可以有效地調試CentOS系統中的C/C++程序。