GDB调试程序之运行参数输入
以bash运行如下程序命令为例子:
$ ./adapter -c FOTON_ECAN.dbc foton_bcan.dbc
方法1:进入gdb,加载程序,执行run命令的时候,后面加上参数
$ gdb
(gdb) file adapter
Reading symbols from adapter...
(gdb) run -c FOTON_ECAN.dbc foton_bcan.dbc
gdb提示:
Starting program: /home/issta/WorkBench/adapter -c FOTON_ECAN.dbc foton_bcan.dbc
方法2:启动GDB,然后用set args 指定运行时参数
$ gdb
(gdb)
(gdb) file adapter
Reading symbols from adapter...
(gdb) set args -c FOTON_ECAN.dbc foton_bcan.dbc
(gdb) run
gdb提示:
Starting program: /home/issta/WorkBench/adapter -c FOTON_ECAN.dbc foton_bcan.dbc
show args 命令可以查看设置好的运行参数:
(gdb) show args
方法3:启动GDB的时候,加上–args选项,然后把应用程序和其命令行参数带在后面,具体格式为:gdb --args program args
$ gdb --args ./adapter -c FOTON_ECAN.dbc foton_bcan.dbc
Reading symbols from ./adapter...
(gdb) run
Starting program: /home/issta/WorkBench/adapter -c FOTON_ECAN.dbc foton_bcan.dbc
启用生成core文件
默认情况下,程序Crash是不生成core文件的,因为默认允许的core文件大小为0。
为了在程序Crash时,能够生成core文件来帮助排查Crash的原因,我们需要修改允许的core文件大小设置
# 查看当前core文件大小设置
ulimit -a
# 设置core文件大小为不限制
ulimit -c unlimited
# 关闭core文件生成功能
ulimit -c 0