バーチャルキャスト公式Wiki
メニュー
Steam版
デバイス
アセット
配信
その他
リリース情報
- wiki編集者用ページ
-
以前のリビジョンの文書です
デバッガ(Debugger)とは、プログラムのデバッグを助けてくれるツールです。 デバッガには、変数の状態を確認したり、ステップ実行という方法でプログラムの動作が追う機能があります。
VSCodeを起動後、左のタブから拡張機能を選択して[MoonSharp]で検索してください。
[MoonSharp Debug]のページが新規のタブで開くので、そこからプラグインをインストールします。
VSCodeのデバッガをVirtualCastで使用する場合
[EmbeddedScriptWorkspace] フォルダの直下に [.vscode] のフォルダを作成し、その中に [launch.json] を作成する必要があります。( [launch.json] がデバッガの設定ファイルになります)
1. [EmbeddedScriptWorkspace] のフォルダを開く
エクスプローラーで以下で以下のフォルダを開いてください。
C:/Users/_USER_/AppData/LocalLow/infiniteloop Co,Ltd/VirtualCast/EmbeddedScriptWorkspace]
_USER_
は使ってるパソコンのユーザー名になります。
既にVSCodeで [EmbeddedScriptWorkspace] フォルダを開いてる場合は、VSCodeのワークスペース上で右クリックからメニューを開いて[エクスプローラーで表示します]を押すと、開くことができます。
2.[EmbeddedScriptWorkspace] に [.vscode] という名前のフォルダを作成する
[EmbeddedScriptWorkspace] フォルダの直下に [.vscode] というフォルダを作成してください。
3.[.vscode]フォルダの中に[launch.json]を新規作成
[.vscode]フォルダの中でメニューを開き、[新規作成 > テキストドキュメント] を作成し、できたファイルを launch.json
にリネームしてください。
※もしくは、下記の[launch.json]ファイルをダウンロードして[.vscode]内に保存してもよいです。
4.[launch.json]の中に下記をコピー&ペースト
{ "version": "0.2.0", "configurations": [ { "name": "MoonSharp Attach", "type": "moonsharp-debug", "request": "attach", "debugServer": 41912, "HELP": "Please set 'debugServer':41912 (or whatever port you ar connecting to) right after the 'version' field in this json." } ] }
先ほど作った[launch.json]ファイルを開いて、上記のテキストをコピー&ペーストして保存します。
※補足ですが…公式のリファレンスは “debugServer”: 41912,
の記述箇所が間違ってます。
上記の[launch.json]は修正した内容になっています。
MoonSharp Debug
バーチャルキャストにスクリプトを含むVCIを取り込みます。THE SEED ONLINEにVCIスクリプトを含むVCIをアップロードして、バーチャルキャストを立ち上げてSEED連携を行ってください。
スクリプトのデバッグを行う場合は、エクスポート時にVCIObject の[Script Enable Debugging]にチェックを有効にしてください。
まず、VirtualCastを立ち上げてスタジオに入り、デバックを行うVCIを表示します。
その後、VSCodeの[デバッグ > デバッグ開始]からデバッガを起動します。
行番号の左をクリックすると、ブレークポイントの設定ができます。
ブレークポイントとは、ブレークポイントの行までプログラムが実行された場合一時停止する箇所 です。
上記の例では onGrab()
の中にブレークポイントが設定されているので、スタジオに戻りVCIをつかみます。
つかんだ後、本来なら3回の print()
が実行されるはずですが、実行されてないと思います。
VSCodeのデバッガツールから、ステップ実行させる事でプログラムが処理されます。
終了させる時は、左の赤いコンセントのアイコンでデバッガの実行を終了します。
デバッグコンソールや、左のバーを見る事で変数の状態を確認したりできるので print関数では追いづらい細かい挙動もチェックできます。