在GDB中运行程序的基本步骤如下:
编译程序
在编译时添加 `-g` 选项,以便生成调试信息。例如:
```
g++ -g -o my_program my_program.cpp
```
启动GDB
使用以下命令启动GDB并加载程序:
```
gdb ./my_program
```
运行程序
在GDB中,使用 `run` 命令(或简写 `r`)启动程序。如果程序需要参数,可以在 `run` 命令后附加参数,例如:
```
run arg1 arg2
```
设置断点
使用 `break` 命令(或简写 `b`)在指定位置设置断点。位置可以是行号、函数名或文件名+行号。例如:
```
break main
```
或
```
break file_name:line_number
```
单步执行
使用 `next` 命令(或简写 `n`)逐行执行代码,但不进入函数。
使用 `step` 命令(或简写 `s`)逐行执行代码,并进入函数内部。
查看状态
使用 `print` 命令查看变量值。例如:
```
print x
```
使用 `backtrace` 命令查看调用栈。
继续执行
使用 `continue` 命令(或简写 `c`)从当前断点处继续执行程序,直到下一个断点或程序结束。
退出GDB
使用 `quit` 命令退出GDB。
示例
编译程序
```
g++ -g -o demo main.cpp
```
启动GDB
```
gdb ./demo
```
设置断点
```
break main
```
运行程序
```
run
```
单步执行
```
next
step
```
查看变量值
```
print x
print y
```
继续执行
```
continue
```
退出GDB
```
quit
```
通过这些步骤,你可以有效地使用GDB进行程序调试,找到并修复程序中的问题。