ひとこと

― 今日のひとこと ―
印刷情報取得モジュールをアップロードしました。
https://bitbucket.org/marolabo/public
(2018.02.20)

2013年8月17日土曜日

Oracle PL/SQL開発 No.3 -SQL Developerによるデバッグ-

現場ではSQL DeveloperとA5:SQL Mk-2を使って製造と単体試験を行っています。

もともとgdgdなプロジェクトで、仕様変更など日常茶飯事だったが特に昨日の変更はかなり痛かった。
「いずれ削除するから考慮しなくていい」と聞いていたある制御項目、「やっぱ残す」ときた
もう殆どの機能が試験終えてるんですけど・・・全部コード修正して試験やり直し
テストデータ作る身にもなってくれよ
っていうか自分の担当機能は全部試験まで終えてるのに先輩担当機能をどんどん割り当てられて残業してる状態
新人なんだからもっと甘やかしてくれよと言いたくなる


まぁ愚痴はその辺にして、SQL Developerでデバッグする方法をメモする。
ちなみに今回はプロシージャをステップ実行しています。


1.ユーザにデバッグ権限を付与する。
プロシージャのデバッグに必要な権限は以下の2つ。

・Debug Connect Session
・Debug Any Procedure

  GRANT DEBUG CONNECT SESSION ,DEBUG ANY PROCEDURE TO <ユーザ名>;




2.デバッグしたいプロシージャを、デバッグ用にコンパイルする。
「接続」のツリーからプロシージャ名を右クリックし、コンテキストメニューから「デバッグ用にコンパイル」を選択する。




3.デバッグ画面に移る
プロシージャ名をクリックすると、微妙にコードが整形されたデバッグ画面に遷移する。




4.ブレークポイントを設定し、デバッグを開始する。
ブレークポイントを設定したい行の行番号をクリックするか、その行でF5キーを押してブレークポイントを設定する。
ブレークポイントを解除する時も同様。
※処理が行われない行(コメント行など)にブレークポイントを設定しても意味がありません

その後、画面上方のデバッグボタンをクリックする。

赤い丸印がブレークポイント。てんとう虫がデバッグボタン。



5.引数がある場合は入力する。
デバッグボタンを押すとダイアログが表示される。
そのダイアログ中のコード部分に、引数の値を入力できる。
入力後、「OK」ボタンをクリックする。






6.ステップ実行する。
F8キーを1回押すと、処理が1行実行される。

ここで変数の値を監視することもできる。
監視したい変数をコード中で選択し、右クリックしてコンテキストメニューの「監視」をクリックする。

「監視」ツリーに選択した変数の現在の値が表示される。


監視機能はすごく便利だけど、カーソル属性は監視できない様子




こんなところかな
暇があったらいつかユニットテストの方法も書いておこう
レンジが僕を呼んでいる。炒飯食べてきます。

0 件のコメント:

コメントを投稿