2011-07-13 65 views
86

我試圖用strace找出程序使用execve執行的命令。這些命令中的一些參數非常長,strace將execve(我在「30個字符後」看到「...」)的參數縮寫,從而阻止我得到任何有用的信息。我怎樣才能得到每個參數的全文?我已閱讀man page。 -v選項打印環境,這很有用,但參數仍然被截斷。防止strace縮寫參數?

strace -f -e trace=execve -v -p 1234 

我也試過傳遞verbose = all,但是這只是提供了一些關於SIGCHLD的額外信息。

strace -f -e verbose=all trace=execve -v -p 1234 

回答

119

你想要-s strsize選項,它指定一個字符串的最大長度,以顯示(默認爲32)。

+8

這不適用於「嵌套」或數組參數,例如, 'ioctl(3,SNDCTL_TMR_TEMPO或TCGETA,{B9600 -opost -isig -icanon -echo ...})' – Marki555

+5

它被解決在 http://stackoverflow.com/questions/34365928/show-complete-arguments-in -strace/34373478#34373478 –