Skip to content

Latest commit

 

History

History
107 lines (71 loc) · 4.02 KB

details.md

File metadata and controls

107 lines (71 loc) · 4.02 KB

knowbug 機能詳細

(注意: このドキュメントはバージョン v1.x 系のものです。現在のバージョン v2.x でも機能面で大きな変更はありませんが、画面のレイアウトは異なります。)

公式デバッグウィンドウとは外観が異なり、2つのウィンドウがあります。

ツリービューやボタンがついているのがメインウィンドウで、エディットボックスが表示されているのがビューウィンドウです。

  • スクリーンショットは少し古いです。

ツリービュー

メインウィンドウのツリービューには、モジュールや変数、システム変数などを分類して並べています。ノードを選択すると、ビューウィンドウに詳細情報が表示されます。

スクリーンショット

表示される情報の備考

  • <unavailable> は、何らかの理由で詳細情報を作成できなかったことを表しています。
  • 変数:
    • (dup) は変数が dup/dupper などの命令により作成されたクローン変数であることを表しています。
  • モジュール変数:
    • & はモジュール変数が代入などによって作られた参照であることを表しています。
    • null はモジュール変数が有効でないことを表しています。

呼び出し

「呼び出し」ノードはコールスタック、すなわち実行中のユーザ定義命令・関数のリストが含まれています。この機能は WrapCall プラグインを有効化しているときにのみ働きます。

スクリーンショット

ただし一部の呼び出し (#modinit, #modterm, #deffunc onexit など) は検出されません。

状況によって、引数の情報は表示されないことがあります。(引数の情報を安全に取得できない場合などです。)

ログ

logmes 命令で送られてきたログを表示します。スクロールバーが一番下にあるときは、自動で最下部にスクロールされます。

右クリックメニューからログの消去や保存ができます。

スクリプト

実行中のスクリプトファイルを発見できた場合は、その内容を表示します。次に実行される行が自動で選択されます。

スクリプト小窓

ツリービューの下にある小さいエディットボックスには、次に実行されるスクリプトの行が表示されます。(スクリプトファイルが発見できた場合のみ。)

ステップ実行ボタン

メインウィンドウの最下部にあるボタンを押すと、スクリプトの実行を中断・再開したり、少しずつ進めたりできます。

  • 実行:
    • assert 命令などで停止していた実行を再開します。
  • 次へ:
    • 次の命令を1つ実行して、再び停止します。
  • 停止:
    • 実行を停止します。
  • 次飛 (ステップオーバー):
    • 「次へ」と同じく次の命令を実行して、停止します。
    • ただし、次の命令がユーザー定義命令や gosub なら、その内部の実行が停止して return するまで待ってから停止します。

ステップオーバーの例:

    // ユーザ定義命令 test1, test2 があるとして
    assert
    test1 // ← 停止中 (assert で停止した)
    test2

ここで「次飛」を使うと、

    test1 // test1 の実行が完了する
    test2 // ← 停止中

となります。

  • 脱出 (ステップアウト):
    • 次の return まで実行し、停止します。

脱出の例:

    test1
    mes "hello"
    stop

#deffunc test1
    assert
    mes "process" // ← 停止中 (assert で停止した)
    a = 1
    test2
    return

ここで「脱出」を使うと、

    test1         // test1 の実行が完了する
    mes "hello"   // ← 停止中

となります。