2015-09-20 5 views
0

Как я могу запустить что-то вроде gdb -e path/to/exe -ex 'run --argnamae argvalue'?Как запустить gdb на исполняемый файл с аргументами?

Предположим, что последняя версия gfb в течение прошедшего года или двух.

Gdb запускает и печатает ответы, но не интерактивно.

+0

«Конечно, я получаю ошибку«бесполезный ImportError: ... но является номинальным для курса ». - Это не * курс для курса. Это указывает на проблему установки. Если вы хотите избавиться от него, вы должны, вероятно, задать отдельный вопрос и отредактировать его, чтобы удалить ссылки на ImportError. –

ответ

3

Я думаю, что вы хотите gdb --args path/to/exe command line arguments

который начнет GdB отладки path/to/exe проходят три аргумента командной строки для вашего ехе command, line и arguments, вы можете взаимодействовать с GDB до выдачи команды запуска.

Что касается ImportError: No module named 'libstdcxx', я считаю, что это уже ответил here, что указывает на сообщение об ошибке here.

Он появляется несколько версий GCC имеет сломано довольно принтеры питон скрипт, возможно, потребуется настроить питон sys.path с (gdb) python sys.path.append("/usr/share/gcc-4.8/python"), настроить путь, чтобы соответствовать любой версии GCC действительно присутствует в вашей системе. Вероятно, вы могли бы добавить такую ​​команду в свой файл .gdbinit, чтобы сохранить ее каждый раз.

+0

Полезно знать! Но как насчет 'gdb -args path/to/exe command line =" может иметь пробелы в аргументах? При запуске gdb сообщает, что «path/to/exe не может обрабатывать аргумент командной строки, содержащий пробельные символы». Любое решение для обработки аргументов с пробелами? –

+0

Эта ошибка возникает только (я думаю), когда используется 'set startup-with-shell 0'. Прямо сейчас я не вижу работы (https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob;f=gdb/infcmd.c;h=331fd8751b16a16d7b78b7e912eb25d3d3c1d69d;hb = HEAD # l360), кроме как отключить 'startup-with-shell' – Andrew

1

How can I run something like ...

Вы можете сделать это:

gdb path/to/exe -ex 'set args arg1 arg2 arg3' 

Или использовать сокращенную нотацию для выше:

gdb --args path/to/exe arg1 arg2 arg3 
Смежные вопросы