AS400/IBMi デバグ・デバッグ STRISDBの気づき

IT関連

自分備忘録です。使い方よく解りません。逆に教えてほしいくらいです。

なんでそんなことするの?バカなの?死ぬの?そう思った方は教えて下さい(笑)

他にもこんな便利な機能使ってないの?というのも大歓迎です。

 

  1. デバグしたいプログラムをQTEMPにコンパイルする
  2. STRISDBを入力してF4でプロンプトを開く
  3. 必要項目を入力する
    1. プログラム名
    2. ライブラリ
    3. 実働ファイルの更新はとりあえずYES
    4. プログラムの呼び出しはNO
    5. 実行キーを押すとコマンド入力に戻る
  4. プログラムをコールする
  5. デバグ画面が起動する

パラメータの受け渡しは、文字列ならいいが、数値の場合は少しややこしい。

数値3,0の場合、

1ならX’001F’

10ならX’010F’

-10ならX’010D’

とするみたい。

 

処置の欄について

上に並んでいる、デバッグ・GOTO・プログラム・オプション・ヘルプのこと。

機能をまとめたメニューみたいなもんですね。それぞれにカーソルを当て実行キーを押すと、何の機能を実行するのか番号で指定できる。

ちなみに「F10」キーを押せばこの処置欄にカーソルが飛ぶし、「Tab」キーで次の処置にカーソルを飛ばすことができる。

さらに

  • デバッグはDEBUG or DE
  • GOTOはGOTO or G
  • プログラムはPROGRAM or PR
  • オプションはOPTIONS or O
  • ヘルプはHELP or H

をコマンド欄に入力して実行キーを押すことで代替えできる。

但しGOTOはパラメータを同時に指定する必要があるが、やり方が解らない。

 

ISDB ===>欄について

コマンド欄。ここにコマンドを打つことで色々できる。

 

コマンドや調べ方いろいろ

文字の検索

  • コマンド欄に検索したい文字を入力して、「F16」キー
  • コマンド欄に「F」を入力してエンターキーで小窓を出す
  • 処置の「オプション」の2から検索の小窓を出す

変数の値の表示(DSP or D)

  • DSP 変数名
  • 変数にカーソルを当てて「F11」キー

変数値の変更(CHG or C)

  • 変数にカーソルを当ててF23キー、表示された値の欄に入力する。
  • CHG 変数名 値

CHG HEIGHT 170

 

停止点の設定(BREAK or B)

  • BREAK ステートメント番号

BREAK 000710

  • 停止点を設定したい行にカーソルを当て「F6」キー

 

条件付き停止点の設定(BREAK or B)

  • BREAK ステートメント番号 WHEN 条件

BREAK 000710 WHEN HEIGHT = 170

 

全ての停止点の表示(条件付き)

  1. 左上の「デバッグ」にカーソルを当て「Enter」キー
  2. 2の停止点の表示

設定した停止点を一覧で見れる。条件付き設定した場合は条件付きで見れる。

 

全ての標識の状態を表示

01~L9までの標識が現在オンなのかオフなのかを一覧表示する。

DSP *RPGIND

 

停止点の削除

  • CLEAR ステートメント番号

CLEAR 000710

  • 停止点を削除したい行にカーソルを当て「F6」キー

 

停止点の全削除

CLEAR *

 

変数をウォッチする

これすごい。できるなら最初から言ってくれ。変数名と値を常時画面上に表示してくれる。VBAでいうウォッチかイミディエイトウインドウみたいなもの。

WATCH 変数名

 

デバッグ中にそこから更にCALLしている子PGMもデバッグ

AP PGM名

 

指定した位置から実行

行のところにカーソルを合わせてF13キー。

F5でステップ実行できるが、長いループがあるとき、それをすっ飛ばしてその先から続けてステップしたい、そういうときに使用する。

もちろん、その間の処理はきちんと実行される。

 

スペシャルサンクス

BS400様 ありがとうございました。

コメント

  1. BS400 より:

    AS/400とPHPの記事は非常に参考にさせてもらってます!

    お返しの気持ちとして、私が使うSTRISDBの情報を書いてみます。

    1.条件付きブレークポイントを以下で設定できます。
    B  停めたい行数 WHEN 条件

    2.デバッグ中にそこから更にCALLしている子PGMもデバッグしたい時は以下で追加できます
    AP PGM名

    詳細はF1ヘルプで呼び出せるのでご参考になれば。

    • kouji より:

      BS400様 コメントありがとうございます。参考なんてお恥ずかしい。自分の備忘録なので偉そうな口調で書いてますが、全然そんなことありませんので誤解なきよう。STRISDBの条件付きブレークポイントは目から鱗です。超便利です。ありがとうございます。これ記事に追記させてもらいますね。というかF1押したら宝の山でした\(^o^)/

タイトルとURLをコピーしました