用gdb调试带参数的程序
用gdb调试带参数的程序,有三种方法:
- --args ./program arg1 arg2 arg3
- 进入gdb后,使用run arg1 arg2 arg3
- 进入gdb后,使用set args arg1 arg2 arg3,再直接run即可
#include <stdio.h> int main(int argc, char *argv[]) { int ch = getc(stdin); printf("char = %c.\n", ch); for(int i = 0; i < argc; i++) { printf("argv[%d] = %s.\n", i, argv[i]); } return 0; }
有以下三种方式设置参数:
- gdb --args test_register aa bb cc
- (gdb) run aa bb cc
- (gdb) set args aa bb cc
执行效果如下:
argv[0] = /home/yuxuecheng/test_register. argv[1] = aa. argv[2] = bb. argv[3] = cc.