1

背景信息: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++ 项目的命令)?

4

2 回答 2

2

您使用 gdbrun命令:

$ 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.
于 2014-06-23T00:10:53.610 回答
1

当你说gdb foo < bar的意思bar是输入到gdb,而不是输入到foo

我认为您要使用的是gdbcommand set args

于 2014-06-23T00:11:31.197 回答