2012年11月22日 星期四

Oracle SQL Developer可以對PL/SQL程式除錯

之前在使用Oracle SQL Developer寫PL/SQL的時候,就有發現有除錯的功能,但是也沒耐心去找說明文件看如何使用,就直接用用看。但是每次都是有錯誤訊息,一時之間也不知道問題在那裡,又急著寫出程式,就先使用老方法DBMS_OUTPUT.PUT_LINE()把變數的內容印出來,其實也都可以解決。所以就一直沒去想為什麼除錯功能都不能用,最近比較有時間可以找問題,稍微試了一下,發現除錯功能是可以用的。

首先,網路上很多文章都有在講怎麼使用,例如這篇Testing and Debugging Procedures using SQL Developer。但是都講的很順,沒提到會碰到的問題。所以都會告訴你正常進入除錯模式的樣子長怎樣:
基本的可以看變數的內容值,可以設中斷點,可以進入或往下跑的功能都有。
我碰到的問題是在按除錯時,就出現錯誤訊息,不會進入這個除錯的畫面。而錯誤訊息是連線到一個奇怪的ip address 169.95.x.x之類的。然後告訴我連不到,我一直沒想到這個位址是何方神聖,後來一想,我的機器有安裝過虛擬機器的軟體,所以會有一張軟體的網路卡,而其ip address就是這種奇怪的樣子。

福至心靈,把那張虛擬機器建的軟體網卡停用後,再按除錯,就出現“其他的錯誤訊息”了。但是原本的錯誤訊息不見了,這表示已成功了一步。
我再按一下“編譯以除錯”按鈕,之後再去試按除錯,就成功了!可以正常的出現選取要除錯目標的視窗。之後的操作也都正常。
張貼留言