Warning: This Help page is relevant to LibreOffice up to version 6.0.
For updated Help pages, visit https://help.libreoffice.org.

Basic プログラムのデバッグ

From LibreOffice Help
Jump to: navigation, search

ブレークポイントとシングルステップの実行

Basic プログラム中のエラー行を探す場合、シングルステップを実行することで、コードを 1 行ずつ確認できます。この機能を利用すると、個々のステップの実行結果をその場で確認できるため、エラーの発生状況を簡単に追跡することができます。現在実行中の行については、ブレークポイントの設定列にマークが表示されます。また、特定の行でプログラムの実行を一時中断させたい場合は、該当行にブレークポイントを設定できます。

エディタウィンドウの左側には、ブレークポイント 設定用の列があり、ここをダブルクリックすることで、該当行へのブレークポイントの設定と解除ができます。プログラム実行時にブレークポイントの設定列に到着すると、プログラムの実行が一時中断されます。

シングルステップ によりプログラムを実行させるには、アイコン シングルステップ をクリックしますが、この場合は個々のプロシージャーや関数の内部に入り込む形でステップ実行が行われます。

処理ステップによりプログラムを実行させるには、アイコン 処理ステップ をクリックしますが、この場合は個々のプロシージャーや関数は 1 つのステップとみなされるので、これらの内部に入り込む形でのステップ実行は行われません。

ブレークポイントのプロパティー

ブレークポイントのプロパティーを設定するには、ブレークポイントの設定列でコンテキストメニューを開きます。

ブレークポイントの アクティブ非アクティブ は、コンテキストメニューのアクティブを選択して切り替えます。非アクティブにしたブレークポイントは、プログラムの実行を一時中断させません。

ブレークポイントのコンテキストメニューで プロパティー を選択するか、ブレークポイントの設定列のコンテキストメニューで ブレークポイント... を選択すると、その他のブレークポイント用オプションを設定するためのダイアログ ブレークポイントが表示されます。

ここでは、すべての ブレークポイント が、ソースコード中の該当行の行番号として一覧表示されます。 選択したブレークポイントを有効にするかどうかは、 アクティブ チェックボックスの設定により切り替えることができます。

ひととおり実行 には、プログラムの実行を一時中断するまでにブレークポイントを無視させる回数を指定できます。この値を 0 に指定したブレークポイントでは (既定値)、その行で常に一時中断が行われます。

削除 をクリックすると、プログラムに設定したブレークポイントを削除できます。

変数の値の監視

変数の値がどのように変化するかは、オブザーバ ウィンドウに登録することで確認できます。オブザーバのリストに変数を登録するには、変数名をテキストボックス オブザーバ に入力して Enter キーを押します。

値が表示されるのは、スコープ内にある変数だけです。現在のスコープのソースコード内で宣言されていない変数については、その代入値ではなく「Out of Scope」と表示されます。

オブザーバウィンドウには、配列の内容を表示させることもできます。オブザーバテキストボックスを使って配列名を指定する場合、インデックスを指定しなければ、配列全体の値が表示されます。

Tip.png 実行時にエディタ上で事前定義された変数にマウスポインタを重ねると、ポップアップボックスにその変数の値が表示されます。

呼び出しウィンドウ

プロシージャーや関数の呼び出し状況を表示します。 現在の実行中のソースコードにおける、関数やプロシージャー相互の呼び出し関係を把握したい場合、この機能が有用です。

実行時エラーの一覧

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 入力がファイルの終端を超えました

63 レコード番号が不正です

67 ファイル数が多すぎます

68 デバイスが使用できません

70 アクセスが拒否されました

71 ディスクが準備されていません

73 機能が実装されていません

74 別ドライブへ名前を変更できません

75 パスまたはファイルのアクセスエラーです

76 パスが見つかりません

91 オブジェクト変数が設定されていません

93 無効なパターン文字列です

94 無効な Null の使い方です

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 無効なクリップボード形式です