我今天晚上在某个敏感地点咬了我,想要澄清一下。正如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之间存在差异?
答案 0 :(得分:3)
我无法重现该错误。你是如何在gdb提示符下运行它的?
我猜你有
(gdb) run lc1 f1.txt
这是错误的。在gdb提示符中,它应该是
(gdb) run f1.txt
这将与您的正常执行相协调。