デバッグ

Vonage Cloud Runtimeは、プラットフォーム上にデプロイされたかのようにローカルでコードをデバッグすることができます。これは、ローカル・バージョンへのリクエストをプロキシするリモート・デバッグ・サーバーを起動することで機能します。IDE を使用してデバッガをアタッチし、ブレークポイントを設定し、プロジェクトの実行を一行ずつ実行することができます。

デバッガの依存関係

例えば、ファイルウォッチャーをインストールする必要がある、 nodemon グローバルに

npm install -g nodemon

ターミナルを使用してデバッグ・セッションを開始する

編集する 設定ファイルvcr.yml) を追加する。 エントリポイント ルートレベルでのデバッグ用 debug:

project:
    name: project
instance:
    ...
debug:
    name: debugger
    entrypoint: [nodemon, --inspect, index.js]

次に、プロジェクト・ディレクトリでターミナル・セッションを開き、debug startコマンドを実行する:

vcr debug

これでサーバーが起動するので、サーバーが起動したらアプリケーションを使い始めることができます。デバッガはリクエストの送受信を表示します。コードを変更して保存すると、デバッガが自動的にリロードされます。

注入された環境変数

を使用してプロジェクトを実行すると vcr debug (またはプロジェクトをCloud Runtimeにデプロイします)、プラットフォームはいくつかの環境変数を注入します。 environment オブジェクトを設定ファイルから取得します。

VCR_PORT
VCR_REGION
VCR_DEBUG
VCR_CODE_DIR
VCR_REGION_ID
VCR_PRIVATE_KEY
VCR_API_REGION_ID
VCR_API_ACCOUNT_ID
VCR_API_ACCOUNT_SECRET
VCR_API_APPLICATION_ID
VCR_INSTANCE_PUBLIC_URL
VCR_INSTANCE_SERVICE_NAME

VSCodeからのデバッグ

VSCodeを使用すると、デバッガをサーバーにアタッチして、ブレークポイントを設定し、コードをステップスルーすることができます。そのためには 実行とデバッグ ボタンをクリックし を作成する。 launch.json ファイル.選択する nodejs をプリセットする:

Run and Debug in VSCode

の中で launch.json ファイルの内容全体を以下のように置き換える:

{
    "version": "0.2.0",
    "configurations": [
        {
            "command": "npm run debug",
            "name": "Start Debugger",
            "request": "launch",
            "type": "node-terminal"
        }
    ]
}

を使用してアプリケーションを起動します。 npm run debug コマンドを実行し、VSCodeデバッガをアタッチする。あなたの npm run debug コマンドを実行する必要がある。 vcr debug.

をクリックしてください。 デバッグ開始 ボタンをクリックする:

Start debugging button in VSCode

アプリケーションが実行され、デバッガーが接続されると、デバッグ・コントロールにアクセスできるようになります。

ブレークポイント

行番号の左側をクリックすると、コードにブレークポイントを設定することができ、その行でプログラムが一時停止し、プログラムの検査やステップオーバーなどを行うことができる:

Setting a breakpoint in VSCode

ブレークポイントがヒットすると、VSCodeは停止した行をハイライト表示し、デバッグ・コンソールを使ってプログラムの値を出力することができる:

Using the debug console in VSCode

また、デバッグ・コントロールを使って、関数をステップ・インしたりステップ・アウトしたり、現在の行を越えて続行したりすることで、コードをさらに深く検査することもできる。