2013-05-03 62 views
0

說我的調試器停在斷點處。有沒有辦法運行/發送任意Perl代碼到調試器?在Perl的調試會話期間交互式運行代碼

例如,說我停止調試器在與聲明的位置:

$DB::single = 1 

我想能夠:

  1. 類型和調試程序執行常規Perl語句提示

  2. 運行腳本

+0

從你的問題,這聽起來像你想用調試器做一些非常奇怪的事情。你想描述一幅更大的圖畫,以便我們能夠更好地幫助你?非交互式地運行調試器很少是一個好主意! – Borodin 2013-05-04 05:33:54

回答

2

您在調試器中鍵入的任何未被識別爲調試器命令的內容都被解釋爲perl並運行。您可以使用requiredo來運行文件,但我不確定您在從另一個文件中「交互式」運行代碼時想到的是什麼。

+0

嗯,你說'你在調試器中輸入的任何不被識別爲調試器命令的東西都被解釋爲Perl並運行',但是如果我在調試器上並且輸入'print'hello';'我不'你看''你好''。我也嘗試過使用其他類似的簡單語句(例如'my $ a = 2;'print $ a;'沒有運氣) – 2013-05-06 14:28:13

+0

@ user815423426第一個適用於我。第二個只是不起作用,因爲調試器的一行中聲明的'my' var不會傳遞到後面的行。 '我的$ a = 2;在一行上打印$ a'也適用於我。 – hobbs 2013-05-06 15:32:18

+0

謝謝。有趣的是,添加一個'\ n'刷新緩衝區。例如。 'print(「something \ n」)'正確地輸出我以前的所有照片和新的照片。 – 2013-05-06 16:15:54