Я запускаю свою программу в gdb, с аргументами -b # +L -m
, но когда I break main
, argc сообщается как 2, а последний аргумент доступен "-b"
. Однако использование show args
в GDB дает мне Argument list to give program being debugged when it is started is "-b # +L -m"
, что является точным.gdb является miscounting args, содержащим '#'
Starting program: /home/matt/
... /args -b # +L -m
Breakpoint 1, main (argc=2, argv=0x7fffffffe028) at args.c:129
ли # рассматриваться специально в качестве аргумента, даже в GDB (не Баш)?
Поскольку я планирую, что эта программа будет вызываться из командной строки, вероятно, было бы хорошей идеей изменить символ, используемый для отметки этой опции для чего-то еще, а? Или я могу просто избежать этого с помощью обратной косой черты? –
Либо бы работало. Или вы можете процитировать этот символ: '' # "'. Но лично я хотел бы использовать другой символ - иначе неизбежно, что некоторые пользователи команды ошибаются. – kaylum