Perl偵錯程式的用法

2021-05-26 01:29:34 字數 2254 閱讀 3100

預設的perl偵錯程式就是perl直譯器本身,另外還有圖形介面的偵錯程式。因為我們

在開?br>?br>程式時一般都使用telnet訪問伺服器,所以這裡主要介紹一下預設的命

令行偵錯程式的用法。用-d 命令列選項啟動perl直譯器,例如

perl -d test.pl

即進入perl偵錯程式的互動介面。

除錯命令列表如下:(所有命令都在除錯提示符下頂格輸入,命令大小寫有關)

h:     顯示偵錯程式的幫助資訊。

|h:    以分頁形式顯示偵錯程式的幫助資訊。

h h:   顯示乙個壓縮的幫助資訊。

h       除錯命令:顯示某個除錯命令的幫助。

p 表示式:  顯示變數或表示式的值,不顯示複雜變數嵌入的結構和資料。

x 表示式:  顯示變數或表示式的值,對較為複雜的變數,以一種可讀形式顯示嵌入的結果和資料。

v 包名    變數名列表:顯示指定包內的所有(或部分)變數的值。(預設的包名為main)

x 變數名列表:顯示當前包內所有(或部分)變數的值。

注:v、x命令中的變數名列表以空格分隔且變數名前應去掉$、@或%

t:程式的呼叫棧回退一級。

s 表示式:單步執行,進入子函式。(stepinto)如果提供乙個表示式並且表示式中包括函式呼叫,則單步進入該函式內。

n 表示式:單步執行,越過子函式。(step over)

c 行號/函式名:執行到某一行或某乙個函式。

l:顯示未執行的一窗(一屏)檔案內容。

l min-max:顯示第min到第max行的檔案內容。

l 行號:顯示指定行的內容。

l 函式名:顯示指定函式的一窗(一屏)檔案內容。

w 行號:顯示某行周圍一窗(一屏)檔案內容。

f 檔名:切換到另乙個檔案。

/模式:在當前檔案中向前(檔案尾)查詢匹配的字串。

?模式:在當前檔案中向後(檔案頭)查詢匹配的字串。

l:顯示所有斷點和附加操作。

s 模式:顯示匹配(或不匹配,在模式前加!)的函式名。

t:切換跟蹤模式。

t 表示式:跟蹤執行表示式過程。

b 行號條件:在某一行設定乙個斷點,當程式執行到該行並且條件滿足時,產生中斷。

b 函式名條件:在某函式上設定乙個斷點,當程式執行到該函式並且條件滿足時,產生中斷。

b load 檔名:在某個檔案的第乙個可執行語句上設定乙個斷點。

d 行號:刪除某一行的斷點。

d:刪除所有斷點。

a 行號命令:給程式的某一行加乙個附加操作。在執行該行語句前先執行附加的操作。

a:刪除所有已安裝的附加操作。

w 表示式:增加乙個監視項。

w:刪除所有監視項。

o 選項名?:查詢偵錯程式可選項的值。

o 選項名=選項值:設定偵錯程式可選項的值。

lt perl語句:設定乙個操作顯示除錯提示符前執行的操作。

ltlt perl語句:增加乙個顯示除錯提示符前執行的操作。

gt perl語句:設定乙個離開除錯提示符**入執行態)時執行的操作。

gtgt perl語句:增加乙個離開除錯提示符**入執行態)時執行的操作。

{ 除錯命睿荷柚靡桓霾僮饗允鏡魘蘊崾痙爸蔥械牟僮鰲?br>

{{ 除錯命令:設定乙個操作顯示除錯提示符前執行的操作。

注:上述perl語句和除錯命令均可輸入多行,行尾以/轉義。

!number:重新執行以前第number次執行的除錯命令。

!-number:重新執行現在以前number次執行的除錯命令。

!模式:重新執行以前執行過的與模式匹配的除錯命令。

!!命令:不退出偵錯程式執行乙個shell命令。

h-number:顯示以前執行的number條除錯命令。如果省略number,則顯示所有執行過?br>?br>除錯命令。

r:重新啟動正在除錯的程式。

q或^d:退出偵錯程式。

|除錯命令:將除錯命令的輸出分頁顯示。

||除錯命令:類似|除錯命令,適於有大量輸出的除錯命令,例如:|vmain。

= 別名 值:給某個除錯命令乙個別名,例如:= quit q。

所有未識別的命令:當作插入的一條perl語句執行。(使用eval)

perl偵錯程式的功能還有很多,可以設定很多選項來定製偵錯程式的環境,它本身也

是用perl開發的,並且perl發布中還有介面讓你能開發其它的perl偵錯程式。如果要用

perl開發大的專案,有必要詳細了解這些細節。使用偵錯程式和設定偵錯程式選項的例子

請參考perl發布中關於perldebug的文件。

GDB偵錯程式的用法

本文是我在學習linux gdb偵錯程式的時候所做的筆記,主要記錄在使用gdb的時候常用的命令,以便於以後的複習參考,不正確的地方忘高手指教 gdb是gnu開源組織發布的乙個強大的unix下的程式偵錯程式,gdb主要可幫助工程師完成下面4個方面的功能 在除錯核心金額除錯應用程式時使用gdb命令是完全...

Perl 命令列偵錯程式的使用

如果使用eclipse寫perl程式,偵錯程式使用起來很方便,只需要滑鼠點點新增斷點然後step over,step in就ok了,但是我們更多數情況下是用putty遠端連線到linux上寫perl指令碼,這時候如果遇到問題需要除錯的時候可就比較麻煩了。我記錄一下我常用的方法吧。當然,第一步是per...

python的偵錯程式 Python 偵錯程式入門

python 生態系統包含豐富的工具和庫,可以讓開發人員更加舒適。例如,我們之前已經介紹了如何使用互動式 shell 增強 python。本文重點介紹另一種可以節省時間並提高 python 技能的工具 python 偵錯程式。python 偵錯程式 python 標準庫提供了乙個名為 pdb 的偵錯...