きり丸の技術日記

技術検証したり、資格等をここに残していきます。

bolt(Node.js)のデバッグ方法

※ 注意:完全自分用の記事です。

正直、日本語の公式ドキュメントすらちゃんと読めてなかったって告白しているような記事ですが…。
残して置いたら、多分未来のきり丸が喜ぶので残します。

環境

  • intelliJ idea 2020.1. Ulitimate
  • Bolt
  • Node.js 10
  • nodemon
  • Typescript
  • (ngrok)
    • slackAppをローカルで動かすための環境。
      localhost:3000を転送する。
      開けておくべきポートが分からなかったので、不要だが残す。

前提

  • 通常起動はnpm scriptでできる

やり方

  1. terminalでいいので、nodemonで起動しておく
  2. 画面右上にEdit Configurationのプルダウンがあるので、Edit Configurationを選択する。

f:id:nainaistar:20200502005152p:plain

  1. 画面左上の+ボタンをクリックし、Attach To Node.js/Chromeを選択する。

f:id:nainaistar:20200502005221p:plain

  1. Reconnect Automaticallyにチェックを入れる以外はデフォルトのままにしておく。
    (※きり丸ハマりポイント:ポートをngrokで起動している3000にしてたせいで30分間かかりました…)

f:id:nainaistar:20200502005208p:plain

  1. Edit Configurationのプルダウンを先ほど設定したものを選択し、デバッグのマークを起動する。

f:id:nainaistar:20200502005218p:plain

  1. DebuggerのConsoleにconsole.logで出力していたメッセージが出力されていれば、デバッグ完了です。
    (※きり丸ハマりポイント:多少なりともdebug用メッセージが出力されるものだと思ったので、何も出力されないことに不安を覚えて10分無駄にしました)

f:id:nainaistar:20200502005524p:plain

  1. 図のように、ブレークポイントデバッグできればOKです!

f:id:nainaistar:20200502005219p:plain

その他きり丸ハマりポイント

  1. vue.jsのデバッグでは、デバッグモードでいきなり起動できた。
    なので、通常のNode.jsとデバッグ用のNode.jsを起動するという認識が無かった。

  2. 起動後に別のNode.jsが処理を奪ってデバッグする、というやり方なので、起動自体に失敗しているとそもそもデバッグができない。
    起動時のエラーを追いたかったらどうすればいいんだろう…。
    今は必要ないけど、教えてほしい…。

公式ドキュメント