背景信息:C ++程序(LAMMPS - 一个开源)接受一个包含要执行的所有命令的输入脚本。可执行文件名为“lmp_fedora”,输入脚本名为“in.hit”。程序的运行命令“./lmp_fedora< in.hit”
我的问题:我正在尝试调试LAMMPS中的一个.cpp文件。
我的尝试:1。我尝试了“gdb lmp_fedora< in.hit”,但它失败了。 2.还尝试使用ps aux找到正在运行的程序的pid,但不确定它是哪个id。
我的问题:如何使用gdb调试输入脚本(具有链接到c ++项目的命令)?
答案 0 :(得分:2)
您使用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.
答案 1 :(得分:1)
当您说gdb foo < bar
表示bar
输入gdb
时,而不是foo
。
我认为你想要使用的是gdb
命令set args
。