gdb --args
时间: 2023-12-13 16:33:19 浏览: 225
`gdb --args`是一个GDB命令,用于在进入GDB控制台后加载可执行程序并传递命令行参数。具体用法如下:
```shell
gdb --args [program] [arguments]
```
其中,`[program]`是要调试的可执行程序的路径,`[arguments]`是要传递给程序的命令行参数。加载程序后,可以使用GDB的其他命令来调试程序,例如`run`命令开始运行程序,`break`命令设置断点等等。
相关问题
gdb - gdb“在启动过程中程序以代码 126 退出
当你看到 `gdb` 中出现 "program terminated with signal SIGABRT (Aborted), code=0x126" 这样的信息时,它通常意味着程序在运行过程中遇到了未处理的异常,导致系统崩溃(SIGABRT通常是由于调用了 `abort()` 函数或者 C++ 的 `std::terminate` 功能)。信号码 126 对应于 SIGSEGV(Segmentation Fault),也就是访问了无效内存地址。
`gdb` 可以帮助你调试这个问题。首先,你可以通过 `gdb` 启动程序并设置断点,然后逐步执行查看出错的位置。命令如:
```
gdb your_program
run
break somewhere_around_the_problem
next
```
检查 `backtrace` 或 `bt` 来查看错误堆栈,这将显示导致终止的函数调用序列。你还可以检查 `registers` 看哪些寄存器可能有问题,以及 `info locals` 或 `info args` 来查看局部变量的状态。
要解决这个错误,你需要定位为什么程序试图访问非法内存,可能是数组越界、空指针引用或者其他类型的内存错误。修复代码后,再次在 `gdb` 中测试,直到问题消失。
怎么执行C:\MinGW32\bin\gdb.exe --args E:\cppcheck.exe E:\ccode\r.cpp
要执行C:\MinGW32\bin\gdb.exe --args E:\cppcheck.exe E:\ccode\r.cpp,你可以按照以下步骤进行操作:
1. 打开命令提示符或者PowerShell。
2. 输入cd C:\MinGW32\bin并按下回车,进入MinGW32的bin目录。
3. 输入gdb.exe --args E:\cppcheck.exe E:\ccode\r.cpp并按下回车,执行gdb调试器并传入参数。
请注意,你需要确保MinGW32的bin目录中存在gdb.exe文件,并且E:\cppcheck.exe和E:\ccode\r.cpp文件的路径是正确的。
阅读全文