LoginSignup
1
0

VSCodeでFFRPGをシュッと始める デバッグ実行編

Last updated at Posted at 2024-06-05

前置き:raised_hand:

環境前提(上記記事と同じ)

IBM i 前提

VSCode前提

  • IBM i Development Packがインストールされていること
    • 内包されている拡張機能のバージョン
      • Code for IBM i:v2.10.2 (pre-release)

Code for IBMi設定前提

デバッグ前準備②サンプルのPGM

  • add10.rpgle
    • CALL時のパラメーターに10を足してDSPLYする謎のPGM
    **free
    
    ctl-opt dftactgrp(*no) main(main);
    //---------------------
    // main処理 add10
    // CALL PGM(コンパイルするLIB/ADD10) PARM((S (*CHAR 1)) (900 (*DEC 9 0))) 
    // サンプルコード
    //---------------------
    
    dcl-proc main;
        dcl-pi *N;
            #kubun char(1);
            #number packed(9:0);
        end-pi;
        
        if #kubun = 'S';
            dsply  subpro(#number);
        else;
            dsply '区分NG';
        endif;
        
    end-proc;
    
    dcl-proc subpro;
        dcl-pi *n varchar(52);
            number packed(9:0);
        end-pi;
    
        dcl-s dsplay_message  char(52); 
    
        number = number + 10;
        dsplay_message = '返却結果:' + %char(number);
    
        return dsplay_message;
    end-proc;
    

1. IFS上にサンプルPGMソース(add10.rpgle)を作成 または アップロードをする

2. サンプルソースをコンパイルする

3. デバッガーを開始する

  • OBJECT BROWSERでコンパイル先のライブラリー一覧を表示し、add10.rpgleのPGMオブジェクトを選択
  • 右クリックして、Start DebuggingDebug as Batchを押下
    • image.png
  • CALLコマンドを入力
    • CALL PGM(KOINULIB/ADD10) PARM((S (*CHAR 1)) (900 (*DEC 9 0)))
    • image.png
    • ※コマンド入力前にパスワード入力を求められるかも…
  • デバッガーが開始される:raised_hands:
    • image.png

4. デバッグしてみよう

  • 任意のステップにカーソルを合わせてダブルクリックして、ブレークポイントを設定
    • image.png
  • 一番左の続行(F5でも可)を押下
    • image.png
    • 当たり前だけど、ブレークポイントで停止される~!変数も確認できる~!VSCodeでデバッグできるのはなんだかIBM i の新たな開発の幕開けという感じ…
    • image.png

おわりに

  • 次はDB操作をするPGMでのデバッグ記事投稿がしたいのですが、躓き中です
    • 環境のせいなのか、ソースのせいなのか、設定なのか悩み中…
  • Code for IBM i はコミュニティでのディスカッションが盛んで、更新頻度も高く、乗り越える日は近いと思います
  • 乗り越え次第記事化いたしますので、お楽しみに…!
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0