HTBasic TOP アイネット株式会社(i2net) HOME
製品概要 新着情報 サポート情報 製品カタログ ダウンロード HTB関連製品    Tip   Y2Kについて
 ■ HTBasic デバッギング ■
 ■ 6つのデバッグ・ウィンドウ(Debug Windows) ■

HTBasicアプリケーション・ウィンドウ(HTBasic Apprication Window)の各要素の名称
6つのデバッグ・ウィンドウ(Debug Windows)
  デバッグ・ウインドウ(Debug Windows)ダイアログボックスは、メニュー・バーのView|Debug Windowsから作動させる事が出来ます。 ユーザが選択チェック卜ボックスにチェックを入れることによりひとつまたは複数のウィンドウをオープンします。最初にオープンされた時は、プログラム・ウィンドウ下側または内側にドッキングされます。
  全てのデバッグ・ウインドウ(Debug Windows)は移動/大きさの修正はプログラマーのワーキング・スタイルに合わせ再アレンジする事が出来ます。 
  移動は、簡単で2つのバーチカル・バー(もし垂直にドッキングされていたらホリゾンタル・トップ・バー)をダブルクリックし移動可能なウィンドウにし、タイトルバーの上をクリックし希望の位置にドラッグします。
  新しい場所に表示されたウィンドウへの変更は記憶されます。 元の状態の位置に戻すにはトップのタイトルバーをダブルクリックします。 リサイズするには、マウスのカーサーをウィンドウの端または隅二重線矢印が現れるまで移動し、クリックし希望する大きさに成るまでドラッグします。もし2つ以上のウィンドウが一緒にドッキングされていたらドックされているウィンドウ・コントロールボタンが作られます。 ドッキングされているウィンドウの引き出したり、結びつけたりは可能です。
  
  この方法はデバッガーでプログラムを実行させます。

  ここでのサンプル・プログラムの操作を通して、
 1.HTBasicの6つのデバッグ・ウィンドウ(Debug Windows)について理解できます
 2.4つのデバッグ・ウィンドウ(Debug Windows)、2つの実行時のデバッグ・ウィンドウ(Runtime Debug Windows)の機能について理解できます。
デバッグ・ウィンドウ(Debug Windows)
- 常時表示されます -
1)  ウオッチ・ウィンドウ( Watch Window )
2)  ライン・プレークポイン・ウィンドウ( Line Breakpoint window )
3)  グローバル・ブレークポイント・ウィンドウ( Global Breakpoint Window )
4)  トレース・ウィンドウ( Trace Window )
ランタイム・デバッグ・ウィンドウ(Runtime Debug Windows)
- 実行時のみ表示されます -
1)  コール・スタック・ウィンドウ( Call Stack Window )
2)  コード・ウィンドウ( Code Window )
  
< Shortcut >
 サンプルプログラム  
 使用するデバッグ・ウィンドウの選択  
 デバッグ・ウィンドウのドッキングと切り離し(任意の位置に任意の大きさで配置)  
 実行時のデバッグ・ウィンドウの仮表示とドッキングと切り離し(任意の位置に任意の大きさで配置)  
 サンプル・プログラムのデバッグ  
  サンプル・プログラムの実行( Run Debugger と Continue Debugger を使う)   
  サンプル・プログラムのデバッグ (経過の表示 - Test RUN - )   
サンプルプログラム
  このプログラムを、読み込んでから始めます。

<サンプルプログラム(Text形式)>
使用するデバッグ・ウィンドウの選択
    @メニュー・バーから、View|Debug Windows...を選択し、
    Aデバッグ・ウィンドウ・ダイアログ(Debug Windows)を表示します。
    B使用するデバッグ・ウインドウをチェックボックスに、チェックを入れることで選択し、<OK>ボタンを
      クリックします。     注)ここでは6つ全てを選択

@メニュー・バーから、View|Debug Windows...を選択
       
  Aデバッグ・ウィンドウ・ダイアログ(Debug Windows)       B6つのチェックボックス全てをチェック
デバッグ・ウィンドウのドッキングと切り離し(任意の位置に任意の大きさで配置)

デバッグ・ウィンドウがドッキングされた状態

デバッグ・ウィンドウが任意の位置に配置された状態
  移動は簡単で、2つのバーチカル・バー(もし垂直にドッキングされていたらホリゾンタル・トップ・バー)をダブルクリックし移動可能なウィンドウにし、タイトルバーの上をクリックし希望の位置にドラッグします。
  新しい場所に表示されたウィンドウへの変更は記憶されます。 
  元の状態の位置に戻すにはトップのタイトルバーをダブルクリックします。 リサイズするには、マウスのカーサーをウィンドウの端または隅二重線矢印が現れるまで移動し、クリックし希望する大きさに成るまでドラッグします。
  もし2つ以上のウィンドウが一緒にドッキングされていたらドックされているウィンドウ・コントロールボタンが作られます。 ドッキングされているウィンドウの引き出したり、結びつけたりできます。
 
実行時のデバッグ・ウィンドウの仮表示とドッキングと切り離し(任意の位置に任意の大きさで配置)
プリ・ラン(仮実行)を行います。
  @行番号30にカーソルを移動、<ctrl><F11>でライン・ブレークポイントを設定
  Aコントロールバーから、Debug Runボタンをクリックします。
仮のデザインで配置します
 
サンプル・プログラムのプレ実行(プリ・ラン)と各デバック・ウィンドウについて
あるプログラマーの実行時のデザイン
 
サンプル・プログラムのデバッグ
    ステップ1.
       コントロール・ツールバーの Togle Edit Mode ボタンをクリックし、エディット・モードにします
       (または、メニュー・バーから、Debug|Togle Edit Mode を選択)
 
ライン・ブレークポイント(Line Breakpoints Window)  
    ステップ2.
       ラインブレークポイントを設定。
       カーソルを行番号230に移動し、<ctrl><F11>でライン・ブレークポイントを設定
【モニターされるパラメータ】 【操作】
− Enabled(可能可否)− Added(設定を加える)
− Type(タイプ)− Enabled(動作可能にする)
− Line(行)− Disabled(動作不可にする)
− Subroutine(サブルーチン)− Remove(外す)
− Variable(変数)  
− Condition(条件)  
− Value(値)  
サンプルプログラムの LOAD / GET 時行番号230に、ライン・ブレークポイントを設定後
  
  ライン・ブレークポイント・ウィンドウ( Line Breakpoints Window )はプログラムが動作中、ユーザが設定した行で停止出来るようにします。  ライン・ブレークポイント・ウィンドウは、Enabled(可能可否)、Subroutine(サブルーチン)、Variable(変数)、Enabled(可能可否)、Type(タイプ)、Line(行)、Condition(条件)、Value(値)をモニターします。 
  ライン・ブレークポイントはブレークポイントをおきたい所へマウスを移動後、@<ctrl><F11> Aブレークポイントをおきたい所へマウスを移動後左クリックで選択(ハイライト)し、マウス右ボタンをクリックしコンテクスト・メニューからBreackpointを選択後次のコンテクスト・メニューからで Toggle Breakpoint を選択 Bコントロール・ツールバーの Toggle Breakpointをクリック Cメニュー・バーからDebug|Toggle Breakpoint を選択の方法で選択できます。
  そしてその後ライン・ブレーク・ウィンドウ( Debug Line Breakpoint )から可能/不可能に出来ます。 ブレークポイントを外すには、外したいブレークポイントを選択(ハイライト)し、マウス右ボタンをクリック後 Remove Breakpointを選択します。 全てのブレークポイントを外すには、Remove All Breakpoints を選択します。
  
グローバル・ブレークポイント・ウィンドウ(Global Breakpoints Window)  
    ステップ3.
       グローバル・ブレークポイント・ウィンドウ( Debug Global Breakpoints )上へマウスを移動し右クリック、
       Grobal Breakpoint... を左クリックで選択し、Set Global Breakpoint ダイアログボックスを表示させます。
       ここでの例では、サブプログラム Sub1 の変数 J が 2 になった時という設定をし<OK>で確定します。
サンプルプログラムの LOAD / GET 時Grobal Breakpoint... を選択
ダイアログでパラメータを設定Grobal Breakpoint を設定後
  
【モニターされるパラメータ】 【操作】
− Enabled(可能可否)− Added(設定を加える)
− Subroutine(サブルーチン)− Enabled(動作可能にする)
− Variable(変数)− Disabled(動作不可にする)
− Condition(条件)− Remove(外す)
− Value(値)  
  
  グローバル・ブレークポイント・ウィンドウ( Global Breakpoints Window )はプログラムが動作中、ユーザが設定した行で停止出来るようにします。 グローバル・ブレークポイント・ウィンドウは、Enabled(可能可否)、Subroutine(サブルーチン)、Variable(変数)、Enabled(可能可否)、Condition(条件)、Value(値)をモニターします。
  ウィンドウ上にマウスを移動後右クリックしポップアップ・メニューで Grobal Breakpoint... を選択すると Set Grobal Breakpoint ダイアログ・ボックスが表示されますのでパラメータをセットし<OK>ボタンをクリックすると設定されます。  この操作はデバッグ・ツール・バーの Global Breakボタンをクリックするか、メニュー・バーのDebug|Global Breakpoint...からもできます。
  グローバル・ブレークポイント・ウィンドウ( Debug Gloval Breakpoint )上に移動、右クリックでコンテキスト・ポップアップ・メニューから Enabled(動作可能にする)/ Disabled(動作不可にする)の操作が個々に出来ます。
   マウスでブレークポイントを選択(ハイライト)後、右クリックで Enable-Disable Breakpoint を選択すると現在の状態が切り替わります。
  グローバル・ブレークポイントを外すには、対象のブレークポイントを選択(ハイライト)し、マウス右ボタンをクリック後 Remove Global Breakpoint を選択します。 全てのグローバル・ブレークポイントを全て外すには、Remove All Global Breakpoints を選択します。
  
ウオッチ・ウィンドウ(Watch Window)  
    ステップ4.
       ウォッチ・ウィンドウ( Watch Window )上へマウスを移動し右クリック、Add Watch Valiable... を左クリックで
       選択し、ダイアログボックスを表示させます。 ここでの例では、変数 A, B, I, J の値を視ます。 変数 A を
       設定するには、ダイアログの Watch Variableのインプット・ボックスに A といれ、<OK>で確定します。
サンプルプログラムの LOAD / GET 時Add Watch Variables... を選択

ダイアログでパラメータを設定

続けて変数 B, I, J を設定し、ウオッチ・リストに
入れます
変数 A がウオッチ・リストに入りましたウオッチ・リスト を設定後
  
【表示される項目】 【使用できるType(タイプ)】
− Variable Name(変数名)− Array(配列)
− Type(タイプ)− Integer(整数)
− Value(値)− Real(実数)
  − Complex(複素数)
  − String(文字列)
  − Long(倍精度整数))
  − I/O Path(I/Oパス:文字列)
  ウオッチ・ウィンドウ( Watch Window )はプログラマーがプログラムが動作中、プログラムの各ステップでリストにあるユーザ設定変数の値の変化を視る事を可能にします。 ウオッチ・ウィンドウには Variable Name(変数名)、Type(タイプ)とValue(値)の3つの項目があります。
  使用できる Type(タイプ)には Array(配列)、Integer(整数)、Real(実数)、Complex(複素数)、String(文字列)、Long(倍精度整数)、I/O Path(I/Oパス:文字列)があります。 Variable Name(変数名)は、Uper / Lower ケースを違うものと認識します。

  ウオッチ・ウィンドウ( Debug Watch )に変数を加える場合は、メニュー・バーのDebug|Add Watch Valuesを選択します。
  変数名は、Variable 項目に表示されている Variable Name(変数名)をダブルクリックすると変更できます。 値は、Value 項目に表示されている Value(値)をダブルクリックすると変更できます。 
  変数をリストから外すには、ウオッチ・ウィンドウの対象とする Variable Name(変数名)を選択し、メニュー・バーのDebug|Remove Watch Variableを選択するかDebug|Remove All Watch Variablesを選択します。
  変数の追加は、EditまたはWatch Windowの上にマウスを移動し、右マウス・ボタンでコンテキスト・センシティブなポップアップ・メニュー操作で出来ます。変数をリストから外すには、Watch Windowの上にマウスを移動し、右マウス・ボタンでポップアップ・メニュー操作で出来ます。
  
サンプル・プログラムの実行( Run Debugger と Continue Debugger を使う)
  
    コントロール・バーの Debug Run アイコンをクリックして、デバッガーでプログラムを実行します。
      (または、メニュー・バーから Debug|Run Debugger を選択)
  
    表示域は、プログラムの実行モードに変わります。( Debug Paused と成ります)
  
    ここで、ここで2つのランタイム・デバッグ・ウィンドウ(Runtime debug windows)が表示されます。
  
コード・ウィンドウ( Code Window )  
  
【ソース・プログラムの表示】   
− Breakpoints(ブレークポイント)  
− Bookmarks(ブックマーク)  
− Program Pointer(プログラム・ポインタ)  
     このコード・ウィンドウ( Code Window )では、 動作中のプログラムのソース・コードを表示します。
コード・ウィンドウには行( Line )とコード( Basic Program )項目があります。 これらの項目は HTBasic ソース・プログラム・コードの行番号と、実行可能なプログラムのコードを表示します。
      注)コメント行等は、表示されません。
     ブレークポイント( Breakpoints )、ブックマーク( Bookmarks )とプログラム・ポインタ(コンピュータが何処でコードを実行しているかについて、正確に示すポインタ)はこのウインドウの中で表示されます。
    コード・ウィンドウとトレース・ウィンドウの違いは、コード・ウインドウが実行に際し、単にプログラム行を追って表示し、トレース・ウインドウが実行されたプログラム・コードのみを表示するという点です。
    コード・ウィンドウは、ソース・コードをまだ実行されていないコードの行番号を含め、前方へまたは後方へ進める為に使われます。
    コード・ウィンドウはまた、デバッグ・ランの時に HTBasic ソースコードプログラム内のブレークポイントを見て、修正するために使用できます。
  
コール・スタック・ウィンドウ(Call Stack Window)  
実行前
実行中/実行後
【モニターされるパラメータ】   
− CALL Stack に入った事を表示  
− CALLステートメントによるサブルーチンのトレース  
− プログラムのデバック動作中にCALLスタックで定義されたプログラムを表示   
  
  コール・スタック・ウィンドウは、次の様にデザインされています。
 ・ 動作中のプログラムの各々のステップでの動きを見ることができるようにする
 ・ コール・スタック(コール・スタックは、CALL ステートメントによりアクセスされたサブルーチンをトレースする
   ために使用される)の状態が視える

  このウィンドウではセットするものは何もありません。   プログラムが動作している間、自動的にモニターし、定義されたコール・スタックで何が起きているか記録します。

  コール・スタック・ウィンドウ( Debug CALL Stack ) には、行番号( Line ) とサブルーチン( Subroutin )の2項目のみがあります。
  
トレース・ウィンドウ( TRACE Window )  
実行前
実行中/実行後
  
− デバッグ時に、HTBasic のコマンド行ごとに、モニターし記録します   
− TRACE コマンドとの違い   
  
  トレース・ウィンドウ( Debug Trace )は、プログラムの動作中に実行されたコマンドをユーザが視ることが出来るようにします。 このウィンドウでは何も設定するものがありません。 プログラムの動作過程を HTBasic のコマンド行ごとに、モニターし記録します。 トレース・ウィンドウ( Debug Trace )には Command 項目のみがあります。

  基本的にトレース・ウィンドウでは、コマンドの実行の軌跡を視ることが出来ることが、HTBasic の TRACE ステートメントとは異なっています。 TRACE ステートメントは、単にスクロールする前にメッセージ行に情報が表示されるという大きな違いがあります。
  注意点として、TRACE ステートメントはブレークポイントもサブルーチンもトレースせずに、コマンドの実行のみをトレースします。

  トレース・ウィンドウのクリアーは、トレース・ウィンドウにマウスを移動し右クリックをしポップアップ・メニューで Clear Window を選択します。 プログラムの再スタートをかけることでもトレース・ウィンドウはクリアーされます。
  
サンプル・プログラムのデバッグ  (経過の表示 - Test RUN - )
    ステップ1. エディタ・モードから、ディバッグ・モードに入ります

【エディタ・モード】

【ディバッグ・ラン( Debug Run )開始】

【ディバッグ・モード】
  
    ステップ2. ディバッグを続けます
      ブレークポイントは、ライン・ブレークポイント(行番号230 )並びにグローバル・ブレークポイントが、
      J の値が 2 になった時に設定されています。 デバッグ・ランは、最初に遭遇するブレークポイントで停止
      します。最初のブレークポイントはライン・ブレークポイント行番号230 で行番号220 まで実行後、停止。

【ディバッグ・コンティーニュ( Debug Continue )開始】

【ディバッグ・モード】
     各ウィンドウの変化
コード・ウィンドウ( Debug Code )

実行前
プログラム・ポインターは、行番号10 にあります

実行後
プログラム・ポインターは、ライン・ブレークポイントを設定した、行番号230 にあります

  HTBasic ワーク・ウィンドウ と トレース・ウィンドウ( Debug Trace )



実行前
メッセージ行は、 BASIC がリセットされた後 Idle 状態


実行後
行番号220 まで実行され、トレース・ウィンドウには、実行されたコマンド行が表示されています
メッセージ行は、 BASIC がリセットされた後 Debug P 状態( Debug Pause )となります

ウオッチ・ウィンドウ( Debug Watch )

実行前
  

実行後( J の値は 1 になっています)
  
コール・スタック・ウィンドウ( Debug Call Stack )

実行前
  

実行後
(現在サブルーチン名 Sub1 スタックの中にいます)
  
    ステップ3. 次に遭遇するブレークポイントで停止

【ディバッグ・コンティーニュ( Debug Continue )】

グローバル・ブレークポイントの停止条件、J の値が 2 となり、プログラム・ポインタが、
行番号160 に移動し、停止します。
     各ウィンドウの変化
ウオッチ・ウィンドウ( Debug Watch )

実行前( J の値は 1 になっています)
  

実行後( J の値は 2 になっています)
  
コード・ウィンドウ( Debug Code )

実行前
プログラム・ポインタは、ライン・ブレークポイントを設定した、行番号230 にあります

実行後
プログラム・ポインタはグローバル・ブレークポイントの停止条件、J の値が 2 となり、行番号160 で停止
  
    ステップ4. 次に遭遇するブレークポイントまで、ディバッグ・コンティーニュ( Debug Continue )の繰り返し
   行番号160 〜行番号220 まで J の値は 2 から変わらないので、ディバッグ・コンティーニュを繰り返し
次の行番号230 は、ライン・ブレークポイント/グローバル・ブレークポイントで停止
行番号240 〜行番号260 まで J の値は 2 から変わらないので、ディバッグ・コンティーニュを繰り返し
行番号260 実行の後、MAIN の行番号110 に戻り、行番号120 のNEXT I で I の値は 3 になります。次のサブルーチンSub1に入るまで、Sub1内のJは監視されません
    ステップ5.
      最後に遭遇するブレークポイントは、J の値は 3 となっているので、グローバル・ブレークポイントの設定に
      よる停止はなく、ライン・ブレークポイント、行番号230 での停止となります。

【最後のブレークポイント】
     各ウィンドウの変化
ウオッチ・ウィンドウ( Debug Watch )

実行前( J の値は 2 になっています)
  

実行後( J の値は 3 になっています)
  
  
    ステップ6.プログラム終了と同時に、
      コール・スタック・ウィンドウとコード・ウィンドウは表示されなくなります。( Idle 状態)      

【プログラムの終了】
   
<このページのトップに戻る> ; <HTBasicTipに戻る>

TransEra, HTBasic, TAMS, HP, Agilent, Keysight, NI, ines, Microsoft, Windows等記載されている
会社名、製品名は各社の登録商標または商標です

【お 問 い 合 わ せ 先】
アイネット株式会社

   E-mailでのお問い合わせ
_/_/_/ Copyright 1998-2023 I2NET Co., Ltd. AllRights Reserved. _/_/_/