在 Debian 系统中,使用 GCC 进行调试的主要方法是通过 GDB(GNU 调试器)。以下是一些常用的调试方法:
首先,确保你已经安装了 GDB 和其他必要的调试工具。可以通过以下命令在 Debian 系统上安装它们:
sudo apt update
sudo apt install build-essential gdb
为了更好地理解编译器的工作流程,可以使用分步编译指令:
gcc -c main.c -o main.o
-c
参数表示只编译,不链接。gcc main.o -o main
在代码中设置断点,可以使用 break
命令:
break main # 在 main 函数入口设置断点
break 10 # 在第 10 行设置断点
使用 run
命令开始运行程序:
run
程序会在设置的断点处暂停。
print i # 打印变量 i 的值
单步执行代码:
next
:执行下一行代码(不进入函数)
step
:执行下一行代码(会进入函数)
查看函数调用栈:
backtrace # 查看函数调用栈
frame 2 # 切换到调用栈第 2 帧
continue
当程序崩溃时,GDB 会自动暂停。可以使用以下命令分析崩溃:
backtrace
:查看函数调用栈frame
:切换到调用栈的特定帧print
:打印变量的值list
:查看附近代码-tui
:以文本用户界面模式启动 GDB(CGDB 是基于这个的增强版)-q
:安静模式,不显示版本信息等冗余内容-p
:附加到正在运行的进程-c
:分析核心转储文件-x
:执行 file 中的 GDB 命令通过这些方法,你可以在 Debian 系统上有效地使用 GCC 和 GDB 进行调试。