Basicプログラムのデバッグ
ブレークポイントとシングルステップの実行
Basicプログラム中のエラー行を探す場合、シングルステップを実行することで、コードを1行ずつ確認できます。この機能を利用すると、個々のステップの実行結果をその場で確認できるため、エラーの発生状況を簡単に追跡することができます。現在実行中の行については、ブレークポイントの設定列にマークが表示されます。また、特定の行でプログラムの実行を一時中断させたい場合は、該当行にブレークポイントを設定できます。
エディターウィンドウの左側には、ブレークポイント 設定用の列があり、ここをダブルクリックすることで、該当行へのブレークポイントの設定と解除ができます。プログラム実行時にブレークポイントの設定列に到着すると、プログラムの実行が一時中断されます。
シングルステップ によりプログラムを実行させるには、アイコン シングルステップ をクリックしますが、この場合は個々のプロシージャーや関数の内部に入り込む形でステップ実行が行われます。
処理ステップによりプログラムを実行させるには、アイコン 処理ステップ をクリックしますが、この場合は個々のプロシージャーや関数は 1 つのステップとみなされるので、これらの内部に入り込む形でのステップ実行は行われません。
ブレークポイントのプロパティ
ブレークポイントのプロパティを設定するには、ブレークポイントの設定列でコンテキストメニューを開きます。
ブレークポイントの アクティブ と 非アクティブ は、コンテキストメニューのアクティブを選択して切り替えます。非アクティブにしたブレークポイントは、プログラムの実行を一時中断させません。
ブレークポイントのコンテキストメニューで プロパティ を選択するか、ブレークポイントの設定列のコンテキストメニューで ブレークポイント... を選択すると、その他のブレークポイント用オプションを設定するためのダイアログ ブレークポイントが表示されます。
ここでは、すべての ブレークポイント が、ソースコード中の該当行の行番号として一覧表示されます。 選択したブレークポイントを有効にするかどうかは、 アクティブ チェックボックスの設定により切り替えることができます。
ひととおり実行 には、プログラムの実行を一時中断するまでにブレークポイントを無視させる回数を指定できます。この値を 0 に指定したブレークポイントでは (既定値)、その行で常に一時中断が行われます。
削除 をクリックすると、プログラムに設定したブレークポイントを削除できます。
変数の値の監視
変数の値がどのように変化するかは、オブザーバ ウィンドウに登録することで確認できます。オブザーバのリストに変数を登録するには、変数名をテキストボックス オブザーバ に入力して Enter キーを押します。
値が表示されるのは、スコープ内にある変数だけです。現在のスコープのソースコード内で宣言されていない変数については、その代入値ではなく「Out of Scope」と表示されます。
オブザーバウィンドウには、配列の内容を表示させることもできます。オブザーバテキストボックスを使って配列名を指定する場合、インデックスを指定しなければ、配列全体の値が表示されます。
実行時にエディター上で事前定義された変数にマウスポインターを重ねると、ポップアップボックスにその変数の値が表示されます。
呼び出しウィンドウ
プロシージャーや関数の呼び出し状況を表示します。 現在の実行中のソースコードにおける、関数やプロシージャー相互の呼び出し関係を把握したい場合、この機能が有用です。
実行時エラーの一覧
1 ある例外が発生しました
2 シンタックスエラーです
3 Return に対応する GoSub がありません
4 間違ったエントリーです; 再試行してください
5 無効なプロシージャー呼び出しです
6 オーバーフローです
7 メモリー不足です
8 配列がすでに宣言されています
9 インデックスが範囲外です
10 定義が重複しています
11 ゼロによる除算が行われました
12 変数が未定義です
13 データ型が一致しません
14 無効なパラメーターです
18 ユーザーによる割り込みが発生しました
20 エラーが発生していないのでResumeは実行できません
28 スタックメモリーが不足しています
35 Subプロシージャまたはfunctionが未定義です
48 DLLの読み込みエラーです
49 DLL呼び出しが不正です
51 内部エラーが発生しました
52 ファイル名または番号が不正です
53 ファイルが見つかりません
54 ファイルモードが不正です
55 ファイルが既に開かれています
57 デバイスI/Oエラーです
58 ファイルがすでに存在します
59 レコード長が不正です
61 ディスクに空き容量がありません
62 EOFを越える読み取りです
63 レコード番号が不正です
67 ファイル数が多すぎます
68 デバイスが使用できません
70 アクセスが拒否されました
71 ディスクが準備されていません
73 機能が実装されていません
74 別ドライブへ名前を変更できません
75 パスまたはファイルのアクセスエラーです
76 パスが見つかりません
91 オブジェクト変数が設定されていません
93 無効な文字列パターンです
94 ゼロを使うことは禁止されています
250 DDEエラーです
280 DDE接続への応答を待っています
281 DDEチャンネルが使用できません
282 DDE接続開始に応答するアプリケーションがありません
283 DDE接続開始に応答するアプリケーションが多すぎます
284 DDEチャンネルがロックされています
285 外部のアプリケーションはDDE操作を実行できません
286 DDEの応答待ちでタイムアウトしました
287 DDE操作の間にユーザーがエスケープを押しました
288 外部のアプリケーションがビジーです
289 DDE操作にともなうデータがありません
290 データが不正な形式です
291 外部のアプリケーションが終了しました
292 DDE接続に割り込みまたは変更が入りました
293 開いたチャンネルがないのにDDEメソッドが呼ばれました
294 不正なDDEリンク形式です
295 DDEメッセージが失われました
296 リンクの貼り付けは既に行われています
297 不正なリンクトピックのためリンクモードが設定できません
298 DDEにはDDEML.DLLファイルが必要です
323 モジュールを読み込むことができません; 不正な形式です
341 無効なオブジェクトインデックスです
366 オブジェクトが利用できません
380 属性値が不正です
382 この属性は読み取り専用です
394 この属性は書き込み専用です
420 無効なオブジェクトリファレンス
423 属性またはメソッドが見つかりません
424 オブジェクトが必要です
425 無効なオブジェクトの使用です
430 OLEオートメーションはこのオブジェクトではサポートされていません
438 この属性またはメソッドはこのオブジェクトではサポートされていません
440 OLEオートメーションエラーです
445 オブジェクトがこの動作をサポートしていません
446 与えられたオブジェクトは名前付き引数をサポートしていません
447 与えられたオブジェクトは現在のロケール設定をサポートしていません
448 名前付き引数が見つかりません
449 引数は省略できません
450 引数の数が正しくありません
451 オブジェクトがリストではありません
452 無効な序数です
453 指定されたDLL関数が見つかりません
460 無効なクリップボード形式です
951 予期しないシンボルです:
952 予想されるのは:
953 シンボルが期待されています
954 変数が期待されています
955 ラベルが期待されています
956 値が適用できません
957 変数が既に定義されています
958 Subプロシージャまたは関数が定義済みです
959 ラベルが定義済みです
960 変数が見つかりません
961 配列またはプロシージャが見つかりません
962 プロシージャが見つかりません
963 ラベルが未定義です
964 不明なデータ型です
965 Exitが期待されています
966 ステートメントブロックがまだ閉じていません: 次のものがありません
967 括弧が対応していません
968 シンボルが別途定義済みです
969 パラメーターがプロシージャと対応しません
970 数値に無効な文字があります
971 配列の大きさがなければなりません
972 Ifを伴わないElse/EndIfです
973 not allowed within a procedure
974 not allowed outside a procedure
975 大きさの仕様が合っていません
976 不明なオプションです:
977 定数が再定義されました
978 プログラムが大きすぎます
979 文字列または配列は許されません
1000 オブジェクトはこの属性を持っていません
1001 オブジェクトはこのメソッドを持っていません
1002 必要な引数が足りません
1003 引数の数が無効です
1004 メソッドの実行エラーです
1005 属性を設定することができません
1006 属性を決定することができません