LoginSignup
2
0

VCIデバッグ時の簡単なMoonSharp Debugの使い方

Last updated at Posted at 2023-12-03

この記事は拙著 「MoonSharp Debug完全に理解した!」の補足記事となります。

環境設定

環境設定は公式の説明ページを参照ください。

デバッグモード時のVSCodeの画面の構成

全体

image.png

デバッグペイン表示非表示ボタン

image.pngボタンを押すと下の変数内容の表示枠やウォッチ式の表示枠の表示切替をします。

デバッグペイン

image.png

MoonSharp Debugとバーチャルキャストの接続開始ボタン

image.png
接続するだけです。

変数内容の表示枠

image.png

この枠に一時停止した際の変数の内容が表示されます。
ちょっとわかりにくいです。

ウォッチ式の表示枠

image.png

この枠に変数名を指定すると変数の内容が表示されます。
変数内容の表示枠よりわかりやすいです。

ツールボタン

image.png

一時停止や再開、1行ずつ実行やMoonSharp Debugとバーチャルキャストの接続切断ができます。
ただ、一部ボタンは機能していないようです。

ボタン 機能
image.png 一時停止する
image.png 一時停止状態から再開する
image.png 本来は「行を飛ばす」はずだけど一行だけ進める機能になっている
image.png 1行だけ進める(ただし関数から出ると止まるようです)
image.png 本来は1行戻すはずだけど変数内容は変わらず停止ポイントまで戻るだけのようです
image.png デバッグモードを再起動?する。接続後にVCIを出したとき等で使用
image.png MoonSharp Debugとバーチャルキャストの接続を切断する

デバッグモードの開始

デバッグモードの開始には何通りかの方法があります。

VCIを呼び出した後から開始する方法

次の方法でMoonSharp Debugとバーチャルキャストが接続され、デバッグモードが開始されます。

  • メニューの「実行」から「デバッグの開始」を押すかF5キーを押す
    image.png

  • VSCodeのデバッグペインを表示させて image.pngを押す

MoonSharp Debugとバーチャルキャストを先に接続した後にVCIを呼び出して開始する方法

先にMoonSharp Debugとバーチャルキャストを接続している場合はVCIを呼び出した後にツールボタンのimage.pngを押すとデバッグが開始されます。

または一度ツールボタンのimage.pngを押してMoonSharp Debugとバーチャルキャストの接続を切った後にF5キー等で再接続をしてもデバッグモードに入ります。

デバッグしているVCIを再度再読み込みして再開する方法

デバッグしているVCIを再読み込みするとデバッグモードが止まってしまいます。
そんなときはツールボタンのimage.pngを押してください。

動いているスクリプトを一時停止する方法

とりあえず一時停止する方法

ツールボタンのimage.pngを押すと止まります。
停止すると停止した行の先頭にimage.pngのマークが付きます。
image.png

停止から再開するときはツールボタンのimage.pngを押すと再開します。

指定したスクリプトの行で止める方法

止めたいコードの行の左側をクリックするとimage.pngが表示され、そこで止まるようになります。
image.png

複数行指定でき、別のモジュール内の行もちゃんと停止します。

ある変数が特定の状態のときだけ止めたい場合は下のようにif文で囲ってその中で一時停止を指定してください。

-- x が 100 のときに止めたい場合

if x == 100 then
 a = 0 -- 適当な処理を書いてこの行を一時停止指定する
end

一時停止時に変数の中身を確認する方法

変数の枠

image.png

グローバル変数などが自動で表示されますが結構わかりにくい・・というか自分は使い方がわかりません。

ウォッチ式の枠

image.png

「+」ボタンを押して確認したい変数名を入力すると表示されます。
image.png
image.png

ただスコープ内の変数しか中身を確認できないようです。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0