命令行参数列表调试器和可执行文件之间的差异

时间:2011-05-05 02:19:41

标签: linux gdb command-line-arguments

我今天晚上在某个敏感地点咬了我,想要澄清一下。正如karlphillip在this question中所说,可执行文件将参数列表视为

Consider: ./program file.txt

argv[0] is "program"
argv[1] is "file.txt"

但是,在gdb调试器中,对于程序./lc1 f1.txt,arglist显示为

arg[0] is "/home/jason/Project 6/lc1"
arg[1] is "lc1"
arg[2] is "f1.txt"

为什么两个arglists之间存在差异?

1 个答案:

答案 0 :(得分:3)

我无法重现该错误。你是如何在gdb提示符下运行它的?

我猜你有

(gdb) run lc1 f1.txt

这是错误的。在gdb提示符中,它应该是

(gdb) run f1.txt

这将与您的正常执行相协调。