デバッグ機能
16.2 デバッグ機能
デバッグ機能は、ABAP プログラムを行単位またはセクション単位で実行しながら、処理内容や変数の値を確認できるツールです。
ここでは以下の流れで説明します。
●デバッグ
●デバッグの開き方
・BREAK-POINT命令
・セッションブレークポイントの設定
・デバッグの起動
●画面の見方
●操作方法
デバッグとは
デバッグとは、プログラムの動作検証やバグを発見するために、そのプログラムの処理を
1行ずつ確認できる機能のことを指します。
完成したプログラムが想定通りに動かない時、デバッグ機能を使うことで、
どこで不具合が起こっているかを発見することができます。
デバッグを行う際に開かれる画面をデバッガーと呼びます。
どのようにしてデバッガーを使っていくのか説明します。
デバッグの開き方:BREAK-POINT命令
デバッグの1つの方法として、ABAP命令「BREAK-POINT」をソースコード中に直接記載することで デバッガーを強制的に立ち上げることも可能です。特に出力などの処理などがないプログラムを デバッグする際には、「BREAK-POINT」と記述することで、意図した箇所でデバッグを起動させることが できます。
IF SY-SUBRC <> 0. BREAK-POINT. ENDIF.
上記のように、ソースコードに直接ブレークポイントを設置するようなイメージです。
デバッグの開き方:セッションブレークポイントの設定
セッションブレークポイント→実行→デバッグ画面の流れが、一般的な流れになります。
この方法では、実際に動きを確認したい場所にセッションブレークポイントという目印を付けます。
(下図:リバース行の左部のアイコン)
目印をつけたい行にカーソルを置き、「セッションブレークポイントの設定/削除」ボタンを押下することにより、設定と解除が行えます。
プログラムを実行すると、そのブレークポイントの位置まで処理を実行します。
そこからは1行ずつ進めることができます。
デバッグの開き方:デバッグの起動
セッションブレークポイントが設定できたら、プログラムを実行することでデバッグを起動させます。
(実行を行うと自動で、デバッガーが起動します。)
① セッションブレークポイントを設定したうえで、直接処理を押下します。
② 選択画面で値を入力し、実行を押下します。
③ デバッガーの画面が表示されます。
画面の見方
デバッガーの画面について主な機能を説明します。
デバッグを使ってバグを発見するとしても、処理が多いプログラムを上から流していたのでは長時間
かかってしまいます。
まずは怪しい箇所を見定めて、ブレークポイント(「セッションブレークポイント」か「BREAK-POINT」)
を指定しましょう。
デバッグを起動させたら、確認したい変数をダブルクリックしてシングルステップで進めながら、
中身の値の変遷を確認しましょう。
関係ない処理の場合は、[続行]ボタンをクリックしてスキップし、
関係ないサブルーチン内に入ってしまった場合は、[リターン]ボタンで戻りましょう。
ループ処理が長い場合は、ループを抜けた位置に新たにセッションブレークポイントを設定し、[続行]で
素早く抜けることができます。