【问题标题】:start-stop-daemon and Valgrind启动-停止-守护进程和 Valgrind
【发布时间】:2012-11-21 12:13:23
【问题描述】:

我使用 start-stop-daemon 来启动程序,并希望将它与 Valgrind 一起使用。

这就是我使用 start-stop-daemon 的方式:

start-stop-daemon --start --background --exec ${BINPATH}/myPgm -- myPgm

这就是我在独立应用程序(垃圾)上使用 Valgrind 的方式:

valgrind --tool=memcheck --leak-check=yes ./junk

这行得通。

我想做这样的事情:

start-stop-daemon --start --background --exec valgrind --tool=memcheck --leak-check=yes --log-file=/usr/magnus/logFile ${BINPATH}/myPgm -- myPgm

似乎 start-stop-daemon 接受 valgrind(如果我只有 valgrind 而没有它的标志 --tool=memcheck --leak-check=yes --log-file=/usr/magnus/logFile 它似乎被接受了) 但 start-stop-daemon 不会接受它。

我得到 start-stop-daemon: unrecognized option '--tool=memcheck' 用于 valgrind 标志。

有人知道怎么做吗?

【问题讨论】:

    标签: valgrind start-stop-daemon


    【解决方案1】:

    其中的“--”用于将 start-stop-daemon 的参数与传递给可执行文件的参数分开。因此,“--”之后的 myPgm 实际上是作为 myPgm 可执行文件的参数提供的。我认为在您的第一个示例中这是无关紧要的。

    你需要使用“--”来拆分valgrind的args,像这样:

    start-stop-daemon --start --background --exec valgrind -- --tool=memcheck --leak-check=yes --log-file=/usr/magnus/logFile ${BINPATH}/myPgm
    

    【讨论】: