コンテンツにスキップ
「プリザンター入門」発売中!

開発者向け機能:サーバスクリプト:デバッグ

概要

Visual Studio Codeを使用してサーバスクリプトのラインデバッグを行う方法を説明します。

制限事項

  1. デバッグ中はデバッガに接続するまでスクリプトが途中で停止しテーブルを利用できません。本番環境では使用しないでください。
  2. サーバスクリプトの種類によってデバッグできない場合があります。

    コードの種類 本手順によるデバッグの可否
    「テーブルの管理:サーバスクリプト」 可能
    「テナント管理機能:バックグラウンドサーバスクリプト」 不可能
    ExtendedServerScriptsフォルダ配下の拡張サーバスクリプト 可能
    Pleasanter Code Assistで追加した拡張サーバスクリプト 不可能
  3. 条件で「共有」のチェックをオンにしたサーバスクリプトでは、本ページの方法でデバッグを行うことはできません。

前提条件

  1. プリザンターが稼働するサーバのポート9222が開いている必要があります。
  2. デバッグを行うPCにVisual Studio Codeがインストールされている必要があります。

操作手順

  1. 任意の作業用フォルダを作成します。※ここではworkフォルダとします。
  2. 上記フォルダ内に.vscodeフォルダを作成します。
  3. 上記.vscodeフォルダ内にlaunch.jsonを作成します。
  4. Visual Studio Codeを起動し、workフォルダを開きます。※Visual Studio Codeでworkフォルダを開くと、左側のEXPLORERは以下のようになります。
    workフォルダを開いたVisual Studio CodeのEXPLORER
  5. launch.jsonのaddressをサーバのアドレスに変更します。
  6. ブラウザでプリザンターにアクセスしデバッグするサーバスクリプトの内容の先頭行に、//debug// を記述し保存します。
  7. デバッグするテーブルを開きます。サーバスクリプトがデバッグモードで待機状態となり画面の応答が無い状態になります。
  8. Visual Studio Codeで Run → Start Debugging と操作します。
  9. Visual Studio Code上にソースコードが読み込まれラインデバッグが可能となります。

launch.json

デバッグするプリザンターが動作する環境への接続情報です。addressは適宜変更する必要があります。ローカルPC上にプリザンターがある場合にはlocalhostを指定します。

JSON
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Attach to ClearScript V8 on port 9222",
            "type": "node",
            "request": "attach",
            "protocol": "inspector",
            "address": "192.168.1.101",
            "port": 9222
        }
    ]
}

デバッグするスクリプトの例

先頭に //debug// を記述することで、このスクリプトが動作するタイミングで待機状態となります。デバッグ時以外は //debug// を除去してください。下のサーバスクリプト例では、context.Log()メソッドによりブラウザの開発者ツールのコンソールにログ出力されます。

JavaScript
//debug//
if (context.UserId === 1) {
    context.Log('User ID is 1');
} else {
    context.Log('User ID is not 1');
}

関連情報