2012-11-21 72 views
3

我使用start-stop-daemon來啓動程序並希望將它與Valgrind一起使用。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 

似乎啓動 - 停止 - 守護程序接受的valgrind(如果我只有Valgrind的,沒有它的標誌--tool=memcheck --leak-check=yes --log-file=/usr/magnus/logFile它似乎被接受) 但啓動停停守護進程將不會接受它。

我得到了start-stop-daemon:valgrind標誌爲unrecognized option '--tool=memcheck'

有沒有人知道如何做到這一點?

回答

7

其中的「 - 」用於將啓動 - 停止 - 守護進程的參數與傳遞給可執行文件的參數分開。所以,「 - 」之後的myPgm實際上是作爲myPgm可執行文件的參數提供的。我認爲這在第一個例子中是無關緊要的。

你需要使用 「 - 」 分裂的valgrind的ARGS出來,像這樣:

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

是的,非常感謝。這樣可行! – user1841901