預設的perl偵錯程式就是perl直譯器本身,另外還有圖形介面的偵錯程式。因為我們在開發程式時一般都使用telnet訪問伺服器,所以這裡主要介紹一下預設的命令列偵錯程式的用法。
用-d命令列選項啟動perl直譯器,例如
perl-dtest.pl即進入perl偵錯程式的互動介面。
除錯命令列表如下:(所有命令都在除錯提示符下頂格輸入,命令大小寫有關)
h:顯示偵錯程式的幫助資訊。
|h:以分頁形式顯示偵錯程式的幫助資訊。
hh:顯示乙個壓縮的幫助資訊。
h除錯命令:顯示某個除錯命令的幫助。
perl偵錯程式用法中p表示式:顯示變數或表示式的值,不顯示複雜變數嵌入的結構和資料。
x表示式:顯示變數或表示式的值,對較為複雜的變數,以一種可讀形式顯示嵌入的結構
和資料。
v包名變數名列表:顯示指定包內的所有(或部分)變數的值。(預設的包名為main)
x變數名列表:顯示當前包內所有(或部分)變數的值。
注:perl偵錯程式用法中v、x命令中的變數名列表以空格分隔且變數名前應去掉$、@或%
t:程式的呼叫棧回退一級。
s表示式:單步執行,進入子函式。(stepinto)如果提供乙個表示式並且表示式中包括函式呼叫,則單步進入該函式內。
n表示式:單步執行,越過子函式。(stepover)
c行號/函式名:執行到某一行或某乙個函式。
l:顯示未執行的一窗(一屏)檔案內容。
lmin-max:顯示第min到第max行的檔案內容。
l行號:顯示指定行的內容。
l函式名:顯示指定函式的一窗(一屏)檔案內容。
w行號:顯示某行周圍一窗(一屏)檔案內容。
f檔名:切換到另乙個檔案。
/模式:在當前檔案中向前(檔案尾)查詢匹配的字串。
?模式:在當前檔案中向後(檔案頭)查詢匹配的字串。
l:顯示所有斷點和附加操作。
s模式:顯示匹配(或不匹配,在模式前加!)的函式名。
t:切換跟蹤模式。
t表示式:跟蹤執行表示式過程。
b行號條件:在某一行設定乙個斷點,當程式執行到該行並且條件滿足時,產生中斷。
perl偵錯程式用法中b函式名條件:在某函式上設定乙個斷點,當程式執行到該函式並且條件滿足時,產生中斷。
bload檔名:在某個檔案的第乙個可執行語句上設定乙個斷點。
d行號:刪除某一行的斷點。
d:刪除所有斷點。
a行號命令:給程式的某一行加乙個附加操作。在執行該行語句前先執行附加的操作。
a:刪除所有已安裝的附加操作。
w表示式:增加乙個監視項。
w:刪除所有監視項。
o選項名?:查詢偵錯程式可選項的值。
o選項名=選項值:設定偵錯程式可選項的值。
ltperl語句:設定乙個操作顯示除錯提示符前執行的操作。
ltltperl語句:增加乙個顯示除錯提示符前執行的操作。
gtperl語句:設定乙個離開除錯提示符**入執行態)時執行的操作。
gtgtperl語句:增加乙個離開除錯提示符**入執行態)時執行的操作。
{除錯命令:設定乙個操作顯示除錯提示符前執行的操作。
{{除錯命令:設定乙個操作顯示除錯提示符前執行的操作。
注:perl偵錯程式用法中上述perl語句和除錯命令均可輸入多行,行尾以\轉義。
!number:重新執行以前第number次執行的除錯命令。
!-number:重新執行現在以前number次執行的除錯命令。
!模式:重新執行以前執行過的與模式匹配的除錯命令。
!!命令:不退出偵錯程式執行乙個shell命令。
h-number:顯示以前執行的number條除錯命令。如果省略number,則顯示所有執行過的
除錯命令。
r:重新啟動正在除錯的程式。
q或^d:退出偵錯程式。
|除錯命令:將除錯命令的輸出分頁顯示。
||除錯命令:類似|除錯命令,適於有大量輸出的除錯命令,例如:|vmain。
=別名值:給某個除錯命令乙個別名,例如:=quitq。所有未識別的命令:當作插入的一條perl語句執行。(使用eval)
perl偵錯程式用法還有很多,可以設定很多選項來定製偵錯程式的環境,它本身也是用perl開發的,並且perl發布中還有介面讓你能開發其它的perl偵錯程式。如果要用perl開發大的專案,有必要詳細了解這些細節。使用偵錯程式和設定偵錯程式選項的例子請參考perl發布中關於perldebug的文件。
perl學習 perl除錯命令
除錯命令列表如下 所有命令都在除錯提示符下頂格輸入,命令大小寫有關 h 顯示偵錯程式的幫助資訊。h 以分頁形式顯示偵錯程式的幫助資訊。hh 顯示乙個壓縮的幫助資訊。h除錯命令 顯示某個除錯命令的幫助。perl偵錯程式用法中p表示式 顯示變數或表示式的值,不顯示複雜變數嵌入的結構和資料。x表示式 顯示...
Perl 命令列偵錯程式的使用
如果使用eclipse寫perl程式,偵錯程式使用起來很方便,只需要滑鼠點點新增斷點然後step over,step in就ok了,但是我們更多數情況下是用putty遠端連線到linux上寫perl指令碼,這時候如果遇到問題需要除錯的時候可就比較麻煩了。我記錄一下我常用的方法吧。當然,第一步是per...
Perl偵錯程式的用法
預設的perl偵錯程式就是perl直譯器本身,另外還有圖形介面的偵錯程式。因為我們 在開?br br 程式時一般都使用telnet訪問伺服器,所以這裡主要介紹一下預設的命 令行偵錯程式的用法。用 d 命令列選項啟動perl直譯器,例如 perl d test.pl 即進入perl偵錯程式的互動介面。...