为使用 ltrace/strace 运行的可执行文件提供命令行参数

问题描述 投票:0回答:2

标题已经说明了一切啦!

如何向要使用 ltrace/strace 监视其执行情况的可执行文件提供命令行参数?

例如,如果可执行文件是“a.out”,并且我想将 ltrace 的输出存储在文件“out.txt”中,并且“arg1”是我想传递给可执行文件的命令行参数,那么命令 I试过的是这个 “ltrace ./a.out -o arg1 out.txt”

问题是我的程序被设计为仅适用于单个命令行参数,因此当我运行上述命令时,我的程序将其解释为多个命令行参数,并在打印“使用”消息后停止执行(它实际上是设计的)来做到这一点,但在这里我想监视它正在进行的库调用)。

有人可以帮我吗?提前致谢。 :)

c command-line-arguments strace ltrace
2个回答
8
投票

尝试在要执行的命令之前传递

-o

ltrace -o out.txt ./a.out arg1

这样

ltrace
将获得
-o out.txt
,然后执行
a.out
,将命令行的其余部分传递给它。


0
投票

使用双破折号显然也有效:

ltrace [arguments to ltrace] -- command [arguments to command]

这个“技巧”显示在 ltrace 命令行的语法中,尽管手册中没有解释。我试了一下(Linux Mint with bash)。

© www.soinside.com 2019 - 2024. All rights reserved.