概要
TypeScript の場合に、AWS CDK をデバッグ実行する方法を記載する。
手順
Node.js コマンドにデバッグ実行オプションを追加する
node_modules/.bin/ ディレクトリの ts-node ファイルを編集する。
Linux の場合は、ts-node
Windows の場合は、ts-node.cmd または、ts-node.ps1
ts-node ファイル中の node コマンドに "--inspect-brk=0.0.0.0:9229"
オプションを追加する。
例:node --inspect-brk=0.0.0.0:9229 "$basedir/../ts-node/dist/bin.js"
"$@""%_prog%" --inspect-brk=0.0.0.0:9229
"%dp0%\..\ts-node\dist\bin.js" %*
AWS CDK を実行する
--inspect-brk などを付けずに、通常通り CDK を実行する。
実行すると、デバッグ接続待機状態で起動する。
デバッガーで接続する
IntelliJ の設定を説明する。
Run → Edit Configurations... を選択し、Run/Debug Configuration を開く
+ボタンを押下し、「Attach to Node.js/Chrome」 を追加する。
以下の設定を行う。
- Name:任意(ここでは、cdk とする)
- Host: 127.0.0.1
- Port: 9229
- Chrome or Node.js > 6.3 started with --inspect を選択
Remote URLs of local files(optional)
は、リモートデバッグの場合でも設定せずに動作するが、条件によっては、設定しないとブレークポイントで停止しない。
*.ts ファイルにブレークポイントを設定する。
Run → Debug 'cdk' を選択し、リモートデバッグする。
しばらくすると、ブレークポイントで停止する。
CDK は、内部で node をプロセス起動しているため、CDK 実行時に --inspect
オプションを指定しても、作成したソースはデバッグできない。