Perl調(diào)試器用法揭秘
本文和大家重點(diǎn)學(xué)習(xí)一下Perl調(diào)試器用法,因?yàn)槲覀冊(cè)陂_發(fā)程序時(shí)一般都使用telnet訪問服務(wù)器,所以這里主要介紹一下缺省的命令行調(diào)試器的用法,希望本文的介紹能讓你有所收獲。
Perl調(diào)試器用法
缺省的Perl調(diào)試器就是perl解釋器本身,另外還有圖形界面的調(diào)試器。因?yàn)槲覀冊(cè)陂_發(fā)程序時(shí)一般都使用telnet訪問服務(wù)器,所以這里主要介紹一下缺省的命令行調(diào)試器的用法。用-d命令行選項(xiàng)啟動(dòng)Perl解釋器,例如
perl-dtest.pl即進(jìn)入Perl調(diào)試器的交互界面。
調(diào)試命令列表如下:(所有命令都在調(diào)試提示符下頂格輸入,命令大小寫有關(guān))
h:顯示調(diào)試器的幫助信息。
|h:以分頁形式顯示調(diào)試器的幫助信息。
hh:顯示一個(gè)壓縮的幫助信息。
h調(diào)試命令:顯示某個(gè)調(diào)試命令的幫助。
Perl調(diào)試器用法中p表達(dá)式:顯示變量或表達(dá)式的值,不顯示復(fù)雜變量嵌入的結(jié)構(gòu)和數(shù)據(jù)。
x表達(dá)式:顯示變量或表達(dá)式的值,對(duì)較為復(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)用?;赝艘患?jí)。
s表達(dá)式:?jiǎn)尾綀?zhí)行,進(jìn)入子函數(shù)。(stepinto)如果提供一個(gè)表達(dá)式并且表達(dá)式中包括函數(shù)調(diào)用,則單步進(jìn)入該函數(shù)內(nèi)。
n表達(dá)式:?jiǎn)尾綀?zhí)行,越過子函數(shù)。(stepover)
c行號(hào)/函數(shù)名:執(zhí)行到某一行或某一個(gè)函數(shù)。
l:顯示未執(zhí)行的一窗(一屏)文件內(nèi)容。
lmin-max:顯示第min到第max行的文件內(nèi)容。
l行號(hào):顯示指定行的內(nèi)容。
l函數(shù)名:顯示指定函數(shù)的一窗(一屏)文件內(nèi)容。
w行號(hào):顯示某行周圍一窗(一屏)文件內(nèi)容。
f文件名:切換到另一個(gè)文件。
/模式:在當(dāng)前文件中向前(文件尾)查找匹配的字符串。
?模式:在當(dāng)前文件中向后(文件頭)查找匹配的字符串。
L:顯示所有斷點(diǎn)和附加操作。
S模式:顯示匹配(或不匹配,在模式前加!)的函數(shù)名。
t:切換跟蹤模式。
t表達(dá)式:跟蹤執(zhí)行表達(dá)式過程。
b行號(hào)條件:在某一行設(shè)置一個(gè)斷點(diǎn),當(dāng)程序執(zhí)行到該行并且條件滿足時(shí),產(chǎn)生中斷。
Perl調(diào)試器用法中b函數(shù)名條件:在某函數(shù)上設(shè)置一個(gè)斷點(diǎn),當(dāng)程序執(zhí)行到該函數(shù)并且條件滿足時(shí),產(chǎn)生中斷。
bload文件名:在某個(gè)文件的第一個(gè)可執(zhí)行語句上設(shè)置一個(gè)斷點(diǎn)。
d行號(hào):刪除某一行的斷點(diǎn)。
D:刪除所有斷點(diǎn)。
a行號(hào)命令:給程序的某一行加一個(gè)附加操作。在執(zhí)行該行語句前先執(zhí)行附加的操作。
A:刪除所有已安裝的附加操作。
W表達(dá)式:增加一個(gè)監(jiān)視項(xiàng)。
W:刪除所有監(jiān)視項(xiàng)。
O選項(xiàng)名?:查詢調(diào)試器可選項(xiàng)的值。
O選項(xiàng)名=選項(xiàng)值:設(shè)置調(diào)試器可選項(xiàng)的值。
ltPerl語句:設(shè)置一個(gè)操作顯示調(diào)試提示符前執(zhí)行的操作。
ltltPerl語句:增加一個(gè)顯示調(diào)試提示符前執(zhí)行的操作。
gtPerl語句:設(shè)置一個(gè)離開調(diào)試提示符(轉(zhuǎn)入運(yùn)行態(tài))時(shí)執(zhí)行的操作。
gtgtPerl語句:增加一個(gè)離開調(diào)試提示符(轉(zhuǎn)入運(yùn)行態(tài))時(shí)執(zhí)行的操作。
{調(diào)試命令:設(shè)置一個(gè)操作顯示調(diào)試提示符前執(zhí)行的操作。
{{調(diào)試命令:設(shè)置一個(gè)操作顯示調(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í)行一個(gè)shell命令。
H-number:顯示以前執(zhí)行的number條調(diào)試命令。如果省略number,則顯示所有執(zhí)行過的
調(diào)試命令。
R:重新啟動(dòng)正在調(diào)試的程序。
q或^D:退出調(diào)試器。
|調(diào)試命令:將調(diào)試命令的輸出分頁顯示。
||調(diào)試命令:類似|調(diào)試命令,適于有大量輸出的調(diào)試命令,例如:|Vmain。
=別名值:給某個(gè)調(diào)試命令一個(gè)別名,例如:=quitq。所有未識(shí)別的命令:當(dāng)作插入的一條Perl語句執(zhí)行。(使用eval)
Perl調(diào)試器用法還有很多,可以設(shè)置很多選項(xiàng)來定制調(diào)試器的環(huán)境,它本身也是用Perl開發(fā)的,并且Perl發(fā)布中還有接口讓你能開發(fā)其它的Perl調(diào)試器。如果要用Perl開發(fā)大的項(xiàng)目,有必要詳細(xì)了解這些細(xì)節(jié)。使用調(diào)試器和設(shè)置調(diào)試器選項(xiàng)的例子請(qǐng)參考Perl發(fā)布中關(guān)于perldebug的文檔。
【編輯推薦】
- Eclipse平臺(tái)中Perl腳本開發(fā)
- Perl學(xué)習(xí)筆記----Perl命令行
- Perl數(shù)組和引用使用指導(dǎo)
- Perl基礎(chǔ) 解析Perl標(biāo)量和數(shù)組概念
- Perl模式匹配中的特殊字符用法指南