gdb调试进程并带参数运行的列子
时间: 2023-07-25 08:04:55 浏览: 203
用GDB调试程序
4星 · 用户满意度95%
假设我们有一个名为 `test` 的可执行文件,需要带参数 `-n 10` 运行并进行调试,可以按照以下步骤进行:
1. 在终端中使用 `gdb test` 命令打开 `test` 可执行文件。
2. 在 gdb 中使用 `set args -n 10` 命令设置程序运行参数。
3. 使用 `run` 命令运行程序,同时带有设置的参数。
4. 对程序进行调试,例如使用 `break` 命令设置断点、使用 `step` 命令单步执行等。
5. 调试完成后使用 `quit` 命令退出 gdb。
完整的调试过程如下所示:
```
$ gdb test
(gdb) set args -n 10
(gdb) run
```
程序开始运行,并带有参数 `-n 10`。
```
Starting program: /path/to/test -n 10
```
接着可以使用 `break` 命令设置断点。
```
(gdb) break main
Breakpoint 1 at 0x4004a6: file test.c, line 8.
```
使用 `continue` 命令让程序继续运行,直到遇到断点停下来。
```
(gdb) continue
Breakpoint 1, main (argc=3, argv=0x7fffffffe118) at test.c:8
8 int n = atoi(argv[2]);
```
使用 `step` 命令单步执行程序,查看变量的值。
```
(gdb) step
9 printf("n = %d\n", n);
(gdb) print n
$1 = 10
```
调试完成后使用 `quit` 命令退出 gdb。
```
(gdb) quit
```
以上是一个简单的带参数运行并调试的例子,可以根据实际情况进行调整。
阅读全文