linux - терминалом - Недостаток списка аргументов в командной строке между отладчиком и исполняемым файлом



терминал линукс команды (1)

Я не могу воспроизвести эту ошибку. Как вы запускаете его в командной строке gdb?

Я предполагаю, что у вас есть

(gdb) run lc1 f1.txt

что неправильно. В приглашении gdb предполагается, что

(gdb) run f1.txt

Это будет смириться с вашим обычным исполнением.

Сегодня вечером я укусил меня в определенном чувствительном месте и хотел бы получить некоторые разъяснения. Как сказал karlphillip в этом вопросе , исполняемый файл видит список аргументов как

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"

Почему расхождение между двумя армистами?





command-line-arguments