実際にサンプルプログラムを使ってデバッグの進めかたについて説明します。
サンプルプログラムでは、以下のようにデバッグを進めていきます。
デバッグするプロジェクトを開く
デバッグを開始する
中断点を設定する
実行する
中断位置でデータを参照する
中断位置までの呼び出し経路を確認する
デバッグを終了する
デバッグするプロジェクトを開く
「第4章 アプリケーションを作成しよう」で作成した、商品の合計金額を計算するサンプルプログラム"Table1.ppj"を表示します。同様のサンプルプログラムは、"Table\Table1.ppj"に格納されています。
本節では、サンプルプログラム中の[名前を付けて保存]コマンドが選択されたときの処理を検証します。
以下の手順で、デバッグする実行可能プログラムを作成し、デバッガを起動します。
プロジェクトのプロパティ設定ダイアログボックスで、[ビルド]タブの[ビルド]モードがデバッグモードになっていることを確認します。
リリースモードであった場合、デバッグモードに変更します。
[プロジェクト]メニューの[ビルド]コマンドを選択し、デバッグする実行可能プログラムを作成します。ただし、すでに作成済であれば、この操作は不要です。
[プロジェクト]メニューの[デバッグ]コマンドを選択し、デバッガを起動します。
→プロジェクトウィンドウがデバッグビューに切り替わり、実行可能プログラムがロードされデバッガが起動されたことを示すメッセージが、アウトプットウィンドウに表示されます。
以下の手順で、表コントロールのセルを入力したときに発生するReturnイベントに中断点を設定します。
デバッグツリーウィンドウのメニュー"CfMenu1-MN-FILE"中にある
"MN-SAVEAS"を選択します。
ポップアップメニューの[Click]コマンドを選択します。
8行めの「CALL "GET-FILE-NAME" USING GET-STYLE BUTTON-STATE」と記述されている行に、カレットを移動します。
ポップアップメニューの[中断点の設定]コマンドを選択します。
手続き編集ウィンドウの行番号領域左側に、中断点を示す赤い丸が表示されていることを確認します。
中断点の設定方法に関する詳細は、「6.2 中断点を設定する」を参照してください。
ポイント
デバッグツリーウィンドウのスクリプトから"CfMenu1!MN-FILE!MN-SAVEAS-Click"を選択して、ポップアップメニューから手続きを開くこともできます。また、手続きの入口や出口に中断点を設定する場合は、手続きを開かずに、ポップアップメニューの[入口に中断点を設定]または[出口に中断点を設定]コマンドで設定できます。
実行する
以下の手順で、プログラムを実行し、中断点で中断させます。
[デバッグ]メニューの[実行]コマンドを選択します。
アプリケーションが起動されたら、顧客名を入力し、表にいくつかの商品コードおよび個数を入力します。
アプリケーションの[ファイル]メニューから[名前を付けて保存]コマンドを選択します。
手続き編集ウィンドウをクリックします。
イベント手続き"CfMenu1!MN-FILE!MN-SAVEAS-Click"の8行めの行番号領域に、右向きの矢印が表示されていることを確認します。
また、以下の手順で1ステップずつ、処理を進めることができます。
フォームの共通内部手続き"GET-FILE-NAME"が表示され、中断位置を示す右向きの矢印が、その中の10行め「IF GET-STYLE = POW-CDOPEN THEN」に移動したことを確認します。
[デバッグ]メニューの[ステップイン]コマンドを3回選択し、中断位置を「INVOKE POW-SELF "GetFileName" USING」と記述された19行めまで進めます。
実行に関する詳細は、「6.3 実行する」を参照してください。
注意
アプリケーションを実行し、中断点に達しても、手続き編集ウィンドウは自動的にウィンドウの前に出てこない場合があります。その場合は、手続き編集ウィンドウをクリックし、前に表示されるようにしてください。
以下の手順で、13行めの手続き「MOVE "ファイル名を付けて保存" TO WK-TITLE」によって転記されたデータの内容を参照することができます。
19行めに中断している状態で、マウスポインタを21行めの文字列"WK-TITLE"の上に移動します。
マウスポインタ右下付近に、"WK-TITLE = ファイル名を付けて保存"と表示されるのを確認してください。
ポイント
データの内容は、[デバッグ]メニューの[ウォッチ]コマンドで表示されるダイアログボックスを使用して参照することもできます。この場合は、以下の手順で参照します。
[デバッグ]メニューの[ウォッチ]コマンドを選択します。
[ウォッチの設定]ダイアログボックスの[データ名]に、"WK-TITLE"と入力します。
プロジェクトウィンドウで、デバッグビューのウォッチウィンドウに"WK-TITLE"が追加され、データの内容が表示されることを確認します。
データの参照に関する詳細は、「6.4 データを参照する」を参照してください。
呼び出し経路ウィンドウを参照することにより、現在中断している手続きが、どこから呼び出されたものなのか確認することができます。
このサンプルプログラムで、上記のデータを参照している時点で呼び出し経路ウィンドウを参照すると、現在中断している手続き"GET-FILE-NAME"は、イベント手続き"CfMenu1!MN-FILE!MN-SAVEAS-Click"から呼び出されていることが確認できます。
呼び出し経路に関する詳細は、「6.5 呼び出し経路を確認する」を参照してください。