本處以調(diào)試函數(shù)為例,其他的調(diào)試與此相同
1.調(diào)試位置
通常情況下,要在pl/sql Dev中調(diào)試程序有兩個(gè)地方:
1).新建->測(cè)試窗口:
2).在要調(diào)試的程序上點(diǎn)擊右鍵->測(cè)試
2.調(diào)試過程
1).通過調(diào)試位置進(jìn)入測(cè)試窗口,如下圖:
其中:點(diǎn)擊1位置(或者按F9)進(jìn)入調(diào)試器,2位置顯示的是程序所聲明的輸入輸出參數(shù),如果是輸入?yún)?shù),需要在此處填入相應(yīng)的輸入值,輸出參數(shù)會(huì)在執(zhí)行調(diào)試完后顯示。
2).按F9進(jìn)入開始調(diào)制器,如圖所示:
其中:1----中斷調(diào)試,2----單步調(diào)試,簡(jiǎn)單點(diǎn)就是一步一步的執(zhí)行;綠色的箭頭表示全部運(yùn)行完這個(gè)程序,如果有斷點(diǎn)設(shè)置,也可以跳入到下一個(gè)斷點(diǎn)。
3).單擊單步調(diào)試,進(jìn)入函數(shù),如圖
在此,可以嘗試單步調(diào)試,一步一步運(yùn)行程序
4).設(shè)置斷點(diǎn),如圖
在文本區(qū)域最左側(cè)的邊框進(jìn)行左鍵單擊,如果有行號(hào)顯示,也就是行號(hào)所在的位置,如圖:
點(diǎn)擊綠色的箭頭,可以直接運(yùn)行到設(shè)置斷點(diǎn)處
5).對(duì)變量進(jìn)行監(jiān)控,如圖
1位置為監(jiān)控窗口,這個(gè)窗口可以把你要監(jiān)視的變量進(jìn)行顯示,你把你需要監(jiān)視的變量復(fù)制到這個(gè)窗口就可以了,也可以在變量上單擊右鍵->添加變量到監(jiān)視器(位置2)。
繼續(xù)單步執(zhí)行,可以看到監(jiān)控變量(位置3)值的變化。
3.權(quán)限問題(ORA-0131)
1)調(diào)試程序時(shí),報(bào)錯(cuò)為ORA-0131:Insufficient privileges,如圖:
原因是用戶權(quán)限不夠,是缺失 DEBUG CONNECT SESSION 系統(tǒng)權(quán)限所致
2)解決辦法:以SYS用戶登錄數(shù)據(jù)庫(kù),執(zhí)行賦權(quán)操作:
SQL> grant DEBUG CONNECT SESSION to user_name;
注明:1.有網(wǎng)友指出還需賦予DEBUG ANY PROCEDURE的權(quán)限,經(jīng)測(cè)試,該權(quán)限可不用賦予!
2.可以從數(shù)據(jù)字典session_privs表查看該權(quán)限相關(guān)信息(需要以u(píng)ser_name登錄):