2012-10-11 75 views
1

例如:perl的-d:跟蹤testScript.pl> output.log重定向perl腳本的調試跟蹤到一個文件

問:1的痕跡不被重定向到output.log文件。 如何重定向跟蹤。

問:是否有可能跟蹤腳本,只能跟蹤腳本中使用的模塊中的跟蹤。我們可以追蹤一個或兩個級別嗎?

謝謝。

+0

從@jonathan構建,你能說出你正在使用的Linux shell嗎? – cowboydan

回答

1

答:1跟蹤默認重定向到stderr流。 要登錄到stderr(通常在Linux中),您執行以下操作:

perl -d:Trace testScript.pl &2> output.log 

凡& 2相當於標準錯誤,& 1是標準輸出(即printf的調試),都將只是&

我不確定A:2。

+0

你想檢查你的重定向符號嗎?正如所寫的('&> 2'),'bash'會將其視爲'在後臺運行perl;將空命令的標準錯誤發送到output.log'。你可能是指'2>&1',其中1是可選的,但非常明確。 (在一個Windows模擬shell的老版本(90年代中期版本)中存在一個bug,要求1可以工作,所以我養成了打字的習慣)。 –

+0

他只想要'2&1',如果他想要stderr去標準輸出的地方。如果他希望sderr的文件,而標準輸出沒有改變,那麼他想'2&>'。 –

+0

@jonathan - 非常豐富。謝謝! – cowboydan