perl 調(diào)試命令的相關(guān)知識(shí)小結(jié)
缺省的Perl調(diào)試器就是perl解釋器本身,另外還有圖形界面的調(diào)試器。
由于在開(kāi)發(fā)程序時(shí)一般都使用telnet訪問(wèn)服務(wù)器,因此本文主要為大家介紹下缺省的命令行調(diào)試器的用法。
用-d命令行選項(xiàng)啟動(dòng)Perl解釋器,例如:perl-dtest.pl即進(jìn)入Perl調(diào)試器的交互界面。
調(diào)試命令列表:(所有命令都在調(diào)試提示符下頂格輸入,命令大小寫(xiě)有關(guān))
h:顯示調(diào)試器的幫助信息。
|h:以分頁(yè)形式顯示調(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í)行,越過(guò)子函數(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á)式過(guò)程。
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í)行語(yǔ)句上設(shè)置一個(gè)斷點(diǎn)。
d行號(hào):刪除某一行的斷點(diǎn)。
D:刪除所有斷點(diǎn)。
a行號(hào)命令:給程序的某一行加一個(gè)附加操作。在執(zhí)行該行語(yǔ)句前先執(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語(yǔ)句:設(shè)置一個(gè)操作顯示調(diào)試提示符前執(zhí)行的操作。
ltltPerl語(yǔ)句:增加一個(gè)顯示調(diào)試提示符前執(zhí)行的操作。
gtPerl語(yǔ)句:設(shè)置一個(gè)離開(kāi)調(diào)試提示符(轉(zhuǎn)入運(yùn)行態(tài))時(shí)執(zhí)行的操作。
gtgtPerl語(yǔ)句:增加一個(gè)離開(kāi)調(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語(yǔ)句和調(diào)試命令均可輸入多行,行尾以\轉(zhuǎn)義。
!number:重新執(zhí)行以前第number次執(zhí)行的調(diào)試命令。
!-number:重新執(zhí)行現(xiàn)在以前number次執(zhí)行的調(diào)試命令。
!模式:重新執(zhí)行以前執(zhí)行過(guò)的與模式匹配的調(diào)試命令。
!!命令:不退出調(diào)試器執(zhí)行一個(gè)shell命令。
H-number:顯示以前執(zhí)行的number條調(diào)試命令。如果省略number,則顯示所有執(zhí)行過(guò)的
調(diào)試命令。
R:重新啟動(dòng)正在調(diào)試的程序。
q或^D:退出調(diào)試器。
|調(diào)試命令:將調(diào)試命令的輸出分頁(yè)顯示。
||調(diào)試命令:類似|調(diào)試命令,適于有大量輸出的調(diào)試命令,例如:|Vmain。
=別名值:給某個(gè)調(diào)試命令一個(gè)別名,例如:=quitq。所有未識(shí)別的命令:當(dāng)作插入的一條Perl語(yǔ)句執(zhí)行。(使用eval)
Perl調(diào)試器用法還有很多,可以設(shè)置很多選項(xiàng)來(lái)定制調(diào)試器的環(huán)境,它本身也是用Perl開(kāi)發(fā)的,并且Perl發(fā)布中還有接口讓你能開(kāi)發(fā)其它的Perl調(diào)試器。
如果要用Perl開(kāi)發(fā)大的項(xiàng)目,有必要詳細(xì)了解這些細(xì)節(jié)。
使用調(diào)試器和設(shè)置調(diào)試器選項(xiàng)的例子請(qǐng)參考Perl發(fā)布中關(guān)于perldebug的文檔。
相關(guān)文章
perl用grep map求交集、并集、補(bǔ)集的實(shí)例代碼
perl 用grep map求交集、并集、補(bǔ)集的例子,有需要的朋友可以參考下2013-02-02perl操作MongoDB報(bào)錯(cuò)undefined symbol: HeUTF8解決方法
這篇文章主要介紹了perl操作MongoDB報(bào)錯(cuò)undefined symbol: HeUTF8解決方法,需要的朋友可以參考下2014-10-10perl對(duì)m x n類似表進(jìn)行按列排序的代碼
perl對(duì)m x n類似表進(jìn)行按列排序的代碼,有需要的朋友可以參考下2013-02-02Perl中使用dig和nali判斷DNS解析地址歸屬地是否一致腳本分享
這篇文章主要介紹了Perl中使用dig和nali判斷DNS解析地址歸屬地是否一致腳本分享,本文同時(shí)介紹了一個(gè)使用純真IP庫(kù)實(shí)現(xiàn)的Perl查詢工具,需要的朋友可以參考下2014-09-09perl數(shù)組的多數(shù)字下標(biāo)示例代碼
perl數(shù)組中正常的下標(biāo)運(yùn)算,想必大家都比較熟悉,這里不作說(shuō)明。本文想說(shuō)的是perl數(shù)組下標(biāo)的多數(shù)字取值,可以極大的方便數(shù)組的操作2013-02-02