デバッガ

以下のセクションでは、デバッガで使用できるコマンドおよびマウス操作について説明します。

デバッガの詳細については、ERP LN 6.1 Programmer's Guide を参照してください。

デバッガのコマンド

デバッガのコマンドは 1 ~ 3 ワードで構成されており、1 つ以上のスペースで相互に区切ります。値設定コマンドは例外的に、変数と割り当てられる値を 「:=」 で区切ります。

大部分のコマンドでは、行番号またはソース名のいずれかまたは両方が必須です。ソース名を指定しなかった場合は、デフォルトで現在のソースが使用されます。

オブジェクトに対してデバッガを開始すると、bshell で以下の検索メカニズムを使用して対応するソースが検索されます。

  1. fd x.x.<pack.comb.> ファイル (x.x は bshell のバージョン) 内の指定に従い検索する
  2. $BSE/tmp ディレクトリ内を検索する
  3. 現在のディレクトリ内を検索する

デバッガでは以下のコマンドをサポートしています。

コマンド動作
b [[source] line_number]

現在のソースまたは指定ソースの現在の行または指定行で、ブレークポイントを切り替えます。ブレークポイントを設定すると、その行がハイライトされます。

ソース内のインクルードされている部分には、ブレークポイントを設定できません。ブレークポイントはインクルードされているファイル内に設定する必要があります。

B [source]

現在のソースまたは指定ソースに設定されているブレークポイントをすべて表示します。

c [number]

次のブレークポイントに達するまで続行します (ソースを実行します)。数字を指定すると、デバッガではその個数のブレークポイントをスキップします。実行されるソース行は表示されません。

CC [number]

「c」 と同じですが、実行される行が表示されます。

cc

コマンドウィンドウのサイズを変更します。これが有効になるのは、アプリケーションとデバッガが同じウィンドウ内に存在する場合だけです。

cs

ソースウィンドウのサイズを変更します。これが有効になるのは、アプリケーションとデバッガが同じウィンドウ内に存在する場合だけです。

d [source line_number]

ソース内の指定行番号上のブレークポイントを削除します。行番号を指定しなかった場合でも、デバッガで現在のソースファイル内のブレークポイントをインタラクティブに削除する機会が与えられます。

D [source]

指定ソースまたは現在のソースに設定されているブレークポイントを削除します。

delete all

追跡および停止の命令をすべて削除します。

delete number

指定した追跡または停止の命令を削除します。

ds

ソースウィンドウを削除します。

dd

データディクショナリのダンプを生成します。

<式>

指定した式を実行します。

f [noarg|noname][number]

スタックトレースを関数の引数とともに表示します (関数のネスティングを提示します)。数字を指定すると、その個数のネスティングのみが表示されます。

noarg関数の名前のみが表示されます。
noname引数が表示されますが、名前は表示されません。

 

fdebug

開いているテーブルの情報をコマンドウィンドウに表示します。

Fdebug

開いているテーブルの情報をスプーラに出力します。

g [source] line_number

指定した行番号までプログラムの実行を続行します (goto)。

help (or ?)

デバッガオプションのヘルプを表示します。

l

プログラム変数の完全なリストを表示します。

L

値を持つプログラム変数のリストを表示し、それらの現在の値を表示します。配列の内容の表示を停止する場合は、「More ?」 の質問に対して 「n」 を入力します。

lp

「l」 コマンドの出力を印刷します。

Lp

「L」 コマンドの出力を印刷します。

mem

割り当てられているメモリに関する情報を含むダンプを生成します。

p

現在処理中のソース行に移動します (view コマンドや seek コマンドの後で役立ちます)。その行には、行番号の前に大なり記号 (>) が表示されます。

q

デバッガを終了します (quit)。

return

現在の関数の最後まで実行を続行します。

s [number]

プログラムを 1ステップずつ、指定した個数のステップだけ実行します (デフォルトは 1)。実行中、その間にあるソース行は表示されません。

S [number]

「s」 と似ていますが、関数の呼び出しを 1 ステップとして実行します。

slow [number]

ソースコードの実行速度を下げます。最大値は 100 です。最小値 (デフォルト) は 0 です。

split number

コマンドウィンドウとソースウィンドウを分割します。指定した番号がコマンドウィンドウの最後の行となります。デバッガウィンドウのサイズを変更した後に、頻繁に使用されるコマンドです。

status [trace|stop|number]

追跡した変数と停止命令のいずれかまたは両方を表示します。番号を指定すると、その番号の追跡された変数または停止命令のみが表示されます。

stop if <式>

式が True の場合に実行を停止します。

stop in <関数>

関数が入力された場合に実行を停止します。

sym

記号表のダンプを生成します。

trap off

「trap on」 を無効にします。このコマンドが有効になるのは、bshell が -dbgcpu フラグで開始された場合だけです。

trap on

関数の呼び出しが実行されるたび、その後にデバッガが停止します。このコマンドが有効になるのは、bshell が -dbgcpu フラグで開始された場合だけです。

swin off

stack、array、長い文字列用の個別ウィンドウを非表示にします。

swin on

デバッガに stack、array、長い文字列用の個別ウィンドウを表示します。

t variable

プログラム実行中に、指定した変数を追跡します。変数の値が変更されると、必ずプログラムの実行が停止します。配列変数やコモン変数は追跡できません。

T variable [value]

「t」 と同じですが、変数が変更されてもプログラムは停止しません。値を指定すると、変数がその値を取得したときに実行が停止します。

u [variable]

指定した変数の追跡を停止します。変数を指定しなかった場合でも、各変数の追跡をインタラクティブに停止できます。

U

現在追跡中の変数の追跡をすべて停止します。

v [source] line_number

指定したソース行をソースウィンドウ (ビュー) に表示します。指定した行番号が行の合計数より大きい場合は、最後の行が表示されます。

v {+-} number

表示位置を、現在のソース行より 「number」 行分だけ前または後にあるソース行に移します。

/pattern

現在のソース内で一致するテキストパターンを探し、その行を表示します。

[function.]variable [/option]

指定した変数の値を表示します。関数を指定した場合は、その関数のローカル変数の値が表示されます。それ以外の場合は、現在の関数の変数またはグローバル変数の値が表示されます。変数に値が存在しない場合 (空の文字列またはゼロの数字) は、値は表示されません。

/ option には以下の値を入力できます。

/

デバッガコマンドと同じ名前の変数の値を表示します。たとえば、「b/」 の場合は変数 b の値が表示されます。

/d

変数のフラグおよび配列の次元を出力します。

/D

long 型または double 型の変数に割り当てられているバイト数を表示します。文字列の配列内の 1 つの要素のバイト数を表示します。

/g

UUID のコンパクトな文字列表記を含む文字列に関して、UUID の標準の文字列表記を表示します。詳細については、ERP LN 6.1 Programmer's Guide の 「UUID overview」 を参照してください。

以下のオプションは、レコードバッファおよびバイナリデータに使用し、NULL 文字とは関係なく、文字列変数の値を宣言された長さ全体とともに表示します。

/x

NULL 文字が 「^@」 と表示されます。

/X

0 ~ 31 の値を含む文字が 「\x<16進数での値>」 と表示されます。

/b

すべての文字が 「 \x<16進数での値>」 と表示されます。

/l

フィルードを UTC フィールドとして解釈し、ローカル時間で出力して、現在のタイムゾーンを出力します。

/u

フィルードを UTC フィールドとして解釈し、utc 時間で出力します。

 

variable := value

変数に値を設定します。value として以下のものを使用できます。

  • 文字列定数または式
  • 数値定数または式
  • 変数名
vi

現在のソースの vi エディタを現在のソース行で起動します。ソースを変更しても、ソースウィンドウにデバッガによって表示されるソースには反映されません。

width value

コマンドウィンドウおよびソースウィンドウの幅を変更します。80 ~ 132 の値を指定できます。

<Ctrl>D/<Ctrl>U

ソースのページダウンとページアップを行います。

<Esc>

標準モードと履歴モードを切り替えます。

<Arrow up>/ <Arrow down>

履歴モードでこれらのコマンドを実行すると、以前に実行されたコマンドがコマンド行に表示されます。

標準モードでこれらのコマンドを実行すると、ソース内でカーソルを移動させることができます。

 

デバッガでのマウス操作

デバッガでは、ソースウィンドウ内で以下のマウス操作をサポートしています。

  • 行番号をクリックしてその行にブレークポイントを設定する
  • ソース行をクリックしてカーソルをその行に移動する
  • 変数をクリックしてその値を表示する。変数名が履歴に配置されます。