在Debian系统中,使用GCC编译器进行调试通常涉及以下几个步骤:
sudo apt-get update sudo apt-get install build-essential gdb
- 编译程序时添加调试信息:在编译程序时,使用 -g 选项来包含调试信息。这将帮助调试器识别源代码中的变量和函数。例如:
gcc -g -o program program.c
- 使用GDB调试程序:
- 启动GDB:
gdb program
break main
- 运行程序:使用 run 命令启动程序。GDB将执行代码,直到遇到断点:
run
-
单步执行:
-
next:逐行执行程序,跳过当前行并直接进入下一行。
-
step:进入当前行的函数调用中。
-
观察变量:使用 print 命令来观察变量的值。例如,打印变量 x 的值:
print x
backtrace
- 继续执行程序:使用 continue 命令让程序从当前断点继续执行,直到遇到下一个断点或程序结束:
continue
- 退出GDB:使用 quit 命令退出GDB:
quit
此外,还可以使用其他调试工具,如 debug-server,它是一个定制化的调试工具,可以通过 gdbserver 程序自动对目标进行 attach,并支持一键启动 strace 程序观察系统调用情况和程序内存映射地址。