Справочная информация: Программа на C ++ (LAMMPS — с открытым исходным кодом) принимает входной скрипт, который имеет все команды, которые должны быть выполнены. Исполняемый файл называется «lmp_fedora», входной скрипт — «in.hit». Команда запуска программы «./lmp_fedora < in.hit»
Моя проблема: я пытаюсь отладить один из файлов .cpp в LAMMPS.
Мои попытки: 1. Я попробовал «gdb lmp_fedora» < in.hit «, но это не удалось. 2. Также попытался найти pid запущенной программы, используя ps aux, но не был уверен, какой это был идентификатор.
Мой вопрос: как вы отлаживаете входной скрипт (который имеет команды, связанные с проектом c ++), используя gdb?
Вы используете GDB run
команда:
$ gdb lmp_fedora
(gdb) run <in.hit
Из справки:
(gdb) help run
Start debugged program. You may specify arguments to give it.
Args may include "*", or "[...]"; they are expanded using "sh".
Input and output redirection with ">", "<", or ">>" are also allowed.
With no arguments, uses arguments last specified (with "run" or "set args").
To cancel previous arguments and run with no arguments,
use "set args" without arguments.
Когда ты сказал gdb foo < bar
это означает bar
является входом в gdb
не foo
,
Я думаю, что вы хотите использовать это gdb
команда set args
,