我試圖做這樣的事情如何知道哪些是正在執行的代碼行當接收
$SIG{ALRM} = sub {
print $line_number_when_alarm_went_off;
};
alarm 10;
# rest of the script
我使用ALRM
作爲信號。例如,我最終會使用不同的從外面殺掉信號來觸發它。做這種手術有沒有一種簡潔的方式?
我有一些緩慢的腳本,有時我想向他們發送一個信號,知道當時的代碼在哪裏。
我希望儘可能不顯眼,這樣我就可以打包並將其添加到舊代碼中。
聽起來好像你正在重塑分析。你有沒有試過[Devel :: NYTProf](https://metacpan.org/pod/Devel::NYTProf)? – AKHolland
只需在信號處理程序中調用'Carp :: cluck'並獲取整個堆棧跟蹤。 – mob
cluck也可以工作。我以前曾經承認過,但那並沒有奏效,對我來說並沒有發生過嘗試。 – Nullman