缺省的Perl調(diào)試器就是perl解釋器本身,另外還有圖形界面的調(diào)試器。
由于在開發(fā)程序時一般都使用telnet訪問服務(wù)器,因此本文主要為大家介紹下缺省的命令行調(diào)試器的用法。
用-d命令行選項啟動Perl解釋器,例如:perl-dtest.pl即進入Perl調(diào)試器的交互界面。
調(diào)試命令列表:(所有命令都在調(diào)試提示符下頂格輸入,命令大小寫有關(guān))
h:顯示調(diào)試器的幫助信息。
|h:以分頁形式顯示調(diào)試器的幫助信息。
hh:顯示一個壓縮的幫助信息。
h調(diào)試命令:顯示某個調(diào)試命令的幫助。
Perl調(diào)試器用法中p表達式:顯示變量或表達式的值,不顯示復(fù)雜變量嵌入的結(jié)構(gòu)和數(shù)據(jù)。
x表達式:顯示變量或表達式的值,對較為復(fù)雜的變量,以一種可讀形式顯示嵌入的結(jié)構(gòu)和數(shù)據(jù)。
V包名變量名列表:顯示指定包內(nèi)的所有(或部分)變量的值。(缺省的包名為main)
X變量名列表:顯示當(dāng)前包內(nèi)所有(或部分)變量的值。
注:Perl調(diào)試器用法中V、X命令中的變量名列表以空格分隔且變量名前應(yīng)去掉$、@或%
T:程序的調(diào)用?;赝艘患?。
s表達式:單步執(zhí)行,進入子函數(shù)。(stepinto)如果提供一個表達式并且表達式中包括函數(shù)調(diào)用,則單步進入該函數(shù)內(nèi)。
n表達式:單步執(zhí)行,越過子函數(shù)。(stepover)
c行號/函數(shù)名:執(zhí)行到某一行或某一個函數(shù)。
l:顯示未執(zhí)行的一窗(一屏)文件內(nèi)容。
lmin-max:顯示第min到第max行的文件內(nèi)容。
l行號:顯示指定行的內(nèi)容。
l函數(shù)名:顯示指定函數(shù)的一窗(一屏)文件內(nèi)容。
w行號:顯示某行周圍一窗(一屏)文件內(nèi)容。
f文件名:切換到另一個文件。
/模式:在當(dāng)前文件中向前(文件尾)查找匹配的字符串。
?模式:在當(dāng)前文件中向后(文件頭)查找匹配的字符串。
L:顯示所有斷點和附加操作。
S模式:顯示匹配(或不匹配,在模式前加!)的函數(shù)名。
t:切換跟蹤模式。
t表達式:跟蹤執(zhí)行表達式過程。
b行號條件:在某一行設(shè)置一個斷點,當(dāng)程序執(zhí)行到該行并且條件滿足時,產(chǎn)生中斷。
Perl調(diào)試器用法中b函數(shù)名條件:在某函數(shù)上設(shè)置一個斷點,當(dāng)程序執(zhí)行到該函數(shù)并且條件滿足時,產(chǎn)生中斷。
bload文件名:在某個文件的第一個可執(zhí)行語句上設(shè)置一個斷點。
d行號:刪除某一行的斷點。
D:刪除所有斷點。
a行號命令:給程序的某一行加一個附加操作。在執(zhí)行該行語句前先執(zhí)行附加的操作。
A:刪除所有已安裝的附加操作。
W表達式:增加一個監(jiān)視項。
W:刪除所有監(jiān)視項。
O選項名?:查詢調(diào)試器可選項的值。
O選項名=選項值:設(shè)置調(diào)試器可選項的值。
ltPerl語句:設(shè)置一個操作顯示調(diào)試提示符前執(zhí)行的操作。
ltltPerl語句:增加一個顯示調(diào)試提示符前執(zhí)行的操作。
gtPerl語句:設(shè)置一個離開調(diào)試提示符(轉(zhuǎn)入運行態(tài))時執(zhí)行的操作。
gtgtPerl語句:增加一個離開調(diào)試提示符(轉(zhuǎn)入運行態(tài))時執(zhí)行的操作。
{調(diào)試命令:設(shè)置一個操作顯示調(diào)試提示符前執(zhí)行的操作。
{{調(diào)試命令:設(shè)置一個操作顯示調(diào)試提示符前執(zhí)行的操作。
注:Perl調(diào)試器用法中上述Perl語句和調(diào)試命令均可輸入多行,行尾以\轉(zhuǎn)義。
!number:重新執(zhí)行以前第number次執(zhí)行的調(diào)試命令。
!-number:重新執(zhí)行現(xiàn)在以前number次執(zhí)行的調(diào)試命令。
!模式:重新執(zhí)行以前執(zhí)行過的與模式匹配的調(diào)試命令。
!!命令:不退出調(diào)試器執(zhí)行一個shell命令。
H-number:顯示以前執(zhí)行的number條調(diào)試命令。如果省略number,則顯示所有執(zhí)行過的
調(diào)試命令。
R:重新啟動正在調(diào)試的程序。
q或^D:退出調(diào)試器。
|調(diào)試命令:將調(diào)試命令的輸出分頁顯示。
||調(diào)試命令:類似|調(diào)試命令,適于有大量輸出的調(diào)試命令,例如:|Vmain。
=別名值:給某個調(diào)試命令一個別名,例如:=quitq。所有未識別的命令:當(dāng)作插入的一條Perl語句執(zhí)行。(使用eval)
Perl調(diào)試器用法還有很多,可以設(shè)置很多選項來定制調(diào)試器的環(huán)境,它本身也是用Perl開發(fā)的,并且Perl發(fā)布中還有接口讓你能開發(fā)其它的Perl調(diào)試器。
如果要用Perl開發(fā)大的項目,有必要詳細(xì)了解這些細(xì)節(jié)。
使用調(diào)試器和設(shè)置調(diào)試器選項的例子請參考Perl發(fā)布中關(guān)于perldebug的文檔。
您可能感興趣的文章:- Perl命令行應(yīng)用程序詳解
- Perl一句話命令行編程中常用參數(shù)總結(jié)
- Perl學(xué)習(xí)教程之單行命令詳解