2011-03-05 59 views
7

我試圖找到一種方法來啓動一個perl進程下的調試器,但在剛剛開始自動運行,而不停在第一條語句,並讓我輸入'c'啓動它。該模塊由一個更大的系統運行,我需要能夠週期性地(基於外部條件)通過中斷信號中斷程序,檢查一些數據結構並使其繼續。有perl調試器不停止在第一條語句

顯然,我可以讓監督程序使用「perl -d myProcess」啓動我的進程,但是如何讓它在沒有初始休息的情況下運行。任何人都知道如何實現這一目標?

非常感謝。

+0

東西用'.perldb'文件,希望有人能擴大這個轉化爲適當的答案。 – daxim 2011-03-05 21:21:47

回答

7

謝謝。這是一個很大的暗示。我看到幾個選項,包括「NonStop」。

它看起來像使用行PERLDB_OPTS="NonStop" perl -d myprog.pl &伎倆。然後我只是kill -INT <pid>fg它在調試器中得到它。在我'繼續執行並且繼續執行之後,它會繼續執行。

2

您也可以將此配置選項添加到.perldb文件。配置文件的格式是有點不尋常,而不是做到有據可查,所以這裏去

DB::parse_options("NonStop=1"); 

其他有用的選項:

DB::parse_options("dumpDepth=3"); 
DB::parse_options("PrintRet=0"); 
$DB::deep = 1000;