この記事は拙著 「MoonSharp Debug完全に理解した!」の補足記事となります。
環境設定
環境設定は公式の説明ページを参照ください。
デバッグモード時のVSCodeの画面の構成
全体
デバッグペイン表示非表示ボタン
ボタンを押すと下の変数内容の表示枠やウォッチ式の表示枠の表示切替をします。
デバッグペイン
MoonSharp Debugとバーチャルキャストの接続開始ボタン
変数内容の表示枠
この枠に一時停止した際の変数の内容が表示されます。
ちょっとわかりにくいです。
ウォッチ式の表示枠
この枠に変数名を指定すると変数の内容が表示されます。
変数内容の表示枠よりわかりやすいです。
ツールボタン
一時停止や再開、1行ずつ実行やMoonSharp Debugとバーチャルキャストの接続切断ができます。
ただ、一部ボタンは機能していないようです。
ボタン | 機能 |
---|---|
一時停止する | |
一時停止状態から再開する | |
本来は「行を飛ばす」はずだけど一行だけ進める機能になっている | |
1行だけ進める(ただし関数から出ると止まるようです) | |
本来は1行戻すはずだけど変数内容は変わらず停止ポイントまで戻るだけのようです | |
デバッグモードを再起動?する。接続後にVCIを出したとき等で使用 | |
MoonSharp Debugとバーチャルキャストの接続を切断する |
デバッグモードの開始
デバッグモードの開始には何通りかの方法があります。
VCIを呼び出した後から開始する方法
次の方法でMoonSharp Debugとバーチャルキャストが接続され、デバッグモードが開始されます。
MoonSharp Debugとバーチャルキャストを先に接続した後にVCIを呼び出して開始する方法
先にMoonSharp Debugとバーチャルキャストを接続している場合はVCIを呼び出した後にツールボタンのを押すとデバッグが開始されます。
または一度ツールボタンのを押してMoonSharp Debugとバーチャルキャストの接続を切った後にF5キー等で再接続をしてもデバッグモードに入ります。
デバッグしているVCIを再度再読み込みして再開する方法
デバッグしているVCIを再読み込みするとデバッグモードが止まってしまいます。
そんなときはツールボタンのを押してください。
動いているスクリプトを一時停止する方法
とりあえず一時停止する方法
ツールボタンのを押すと止まります。
停止すると停止した行の先頭にのマークが付きます。
指定したスクリプトの行で止める方法
止めたいコードの行の左側をクリックするとが表示され、そこで止まるようになります。
複数行指定でき、別のモジュール内の行もちゃんと停止します。
ある変数が特定の状態のときだけ止めたい場合は下のようにif文で囲ってその中で一時停止を指定してください。
-- x が 100 のときに止めたい場合
if x == 100 then
a = 0 -- 適当な処理を書いてこの行を一時停止指定する
end
一時停止時に変数の中身を確認する方法
変数の枠
グローバル変数などが自動で表示されますが結構わかりにくい・・というか自分は使い方がわかりません。
ウォッチ式の枠
「+」ボタンを押して確認したい変数名を入力すると表示されます。
ただスコープ内の変数しか中身を確認できないようです。