(for Internet Explorer)
If g_count_up(0)=0 Then  Stop '// watch-> g_count [TODO]
echo_v "g_count(0)=" & g_count(0)
If g_count_up(0)=2 Then  Stop
Function  g_count_up( i as integer ) as integer
グローバル配列変数 g_count の1つの配列要素の値を+1します。
→ スルーカウンタ
【引数】
i
カウンタの種類の番号、配列要素番号(0以上)
新しい配列要素の値
返り値
デバッグ用です。 参考
問題が発生した場所の少し前でブレークさせたい場所で、まず下記のように記述します。
複数のカウンタを使うときは引数 0 を変えてください
実行させてエラーが発生した場所でブレークしたら、g_count(0) の値をウォッチします。
0 は、g_count_up の ( ) の中と同じです。 ウォッチするのは、g_count_up ではないことに
注意してください。
g_count(0) の値がウォッチした値と一致したらブレークするように、記述を変更します。
0
  0
2
再び最初から実行させると、上記の Stop で止まります。
g_count(0)
← ウォッチ
← g_count(0) をウォッチしたら 2 だった場合
(src)
関連
→ スルーカウンタ (C言語 - errors)
0
特定の条件を満たしたときだけブレークしたいときは、次のように記述します。
If ... Then  SetVar "Stop1", 1    '// 条件の判定 [TODO]
   :
If GetVar( "Stop1" ) Then  Stop   '// ブレークする場所 [TODO]
出力ファイルの内容に問題があるときは、ファイル名を指定するだけで、
ファイルの出力を開始するところでブレークさせることができます。
参考
Dim  g_verbose as boolean
Verbose モードが有効かどうか。
ファイル:
vbs_inc_400.vbs
Verbose モードが有効であるときは、内部処理の内容を詳しく表示しながら実行します。
サンプル (デバッグ時)
サンプル (開発時)
g_verbose = 1
  FuncA
pause
If g_verbose Then  echo_v  "処理は1つも行われませんでした。"
Verbose モードで内部処理を表示する主な目的は、行われるはずの処理が行われて
いない不具合を解決することです。 処理が行われなかった
ことを中心に表示してください。 そうしないと、必要な情報が多くのノイズ(情報)に
隠れてしまいます。  とりあえず Verbose モードで動かし、そこからどの情報を詳しく
表示するようにすればいいか、どのオブジェクトを GetEchoStr で表示させるとよいか
をガイドできればよいでしょう。
関連
FuncA の処理内容を詳しく表示します。
テスト
→ T_Verbose.vbs # [T_Verbose]
プログラムが処理内容に対してメタな処理になっているときに処理のステップを表示
したいときは、そのモジュールのメンバーに Verbose モードを追加してください。
Sub  SetupDebugTools()
  '--- start of parameters for vbslib include ---------
  g_debug = 0          '// release:0, debug:99, -1:call SetupDebugTools
  Sub SetupDebugTools() : set_input "" : SetBreakByFName Empty : End Sub
g_debug = 99  '// 上書きすることで、上記のデフォルトのコードを保護します。
Sub SetupDebugTools()  '// 関数も前の定義を上書きできます。
 del "C:\Users\user1\Desktop\TestData"
 set_input "1."
 SetBreakByFName "Out.xml"
End Sub
サンプル:
デバッグ時に main 関数を呼び出す直前で呼び出される関数。
また、この関数の中では、利便性のために
を発しません。
ただし、ファイルパスを指定するときは変数を使わないようにするなどして、予想外のファイル
を壊さないように注意してください。
(src)
通常、vbslib include に、SetupDebugTools 関数の定義を記述します。
デバッグ用に何らかの設定をしたり、ファイルを初期状態に戻すなどの処理を、この関数の
中に定義してください。 main 関数の最初に記述しても同じことができますが、vbslib を
インクルードする前に、vbslib など vbs_inc でインクルードする関数が使え、g_debug の設定
の直後に処理を記述できるため、デバッグ用のコードを一般のコードと区別できます。
テスト
Sub  WS2( Label as string, Value as variant )
Sub  WD2( Label as string, Value as variant )
Sub  WX2( Label as string, Value as variant )
Sub  MARK( Label as string, out_Count as variant )
ブレークしないで、変数の値を標準出力へ表示します。
スレッドの通過を表示します
文字列値を表示します
数値を表示します
数値を16進数で表示します
<WATCH label="var1" value="123"/>
出力例:
サンプル:
Dim  var1 : var1 = 123
WD2  "var1", var1
Dim  var1 : var1 = 123
Execute WD("var1")
Function  WD( Expression as string ) as string
Function  WS( Expression as string ) as string
Function  WX( Expression as string ) as string
数値を16進数で表示するコードを返します
数値を表示するコードを返します
文字列値を表示するコードを返します
(src)
MARK  "a", 0
関連
エラーが発生した後の処理を、デバッグする方法を示します。
まず、エラーが発生した瞬間を捕らえて、その場所に Stop 命令を記述します。
参考
… Stop 命令
を 99 など大きな数に設定して起動します。
Stop したら、ステップ実行します。
1.
2.
3.