Help us understand the problem. What is going on with this article?

IntelliJでSpringBootをデバッグ

はじめに

IntelliJでSpringBootのデバッグ手順を調査したので、
まとめたいと思います。

環境

Windows 10
IntelliJ IDEA 2019.2.1(Ultimate Edition)

実行・デバッグ構成の作成

始めに実行・デバッグ構成を作成します。

実行・デバッグ構成のプルダウンから「Edit Configurations」を選択
1.png

選択すると「Run/Debug Configurations」設定画面が立ち上がるので、
「+」を選択して「Spring Boot」を選択。
1.png

実行・デバッグ構成が出来るので、「Name」に任意の名前、「Main class」にデバックしたいプロジェクトの
メインクラスを指定してOKを選択。
2.png

これで実行・デバッグ構成の作成は完了です。

デバッグ

デバッグ構成が出来たので実際にデバッグしていきます。
ここではDemo用として「hello-world」と言うAPIを用意したので、それをデバッグしていきます。

・ブレークポイントの設定
 ソースコードの横のバーをクリック、もしくは「Ctrl+F8」で止めたい行にブレークポイントを設定
 3.png

・デバック
 メニューバーの「Run」 → 「Debug 'デバッグ構成名'」を選択、もしくは「Shift+F9」でプロジェクトを実行
 4.png
 APIを叩くとブレークポイントを設定した行で処理が止まります。
 変数がある場合は「Variables」で値の確認もできます。
 5.png

「ステップ・イン」「ステップ・オーバー」

「ステップ・イン」「ステップ・オーバー」は以下のショートカットで実行できます

項目      ショートカット
ステップ・イン F7
ステップ・オーバー F8

 その他ステップについては以下公式ヘルプが解りやすかったので
 参考にしてみてください。
 https://pleiades.io/help/idea/debug-tool-window.html#steptoolbar

その他便利機能

 IntelliJではブレークポイントにプロパティーを設定することが出来ます。
 今回はその中から条件を設定する方法を紹介します。
 特定の条件の時のみ処理を止めたいことは多々あるかと思いますが、
 その際に使用することが出来ます。

 以下は100回ループして1回ごとに「hello world[iの値]」を作る処理です。
 この処理をiが89になったところでブレークしてみます。
 7.PNG

 ブレークポイントを右クリックするとプロパティーの編集画面が出るので「Condition」に
 「i==89」と指定します
 6.png
 これで実行するとiが89の時点でブレークされ、その時点の変数が確認できます。
 8.png

 プロパティーはこの他にも設定が可能なので興味がある方は以下公式ヘルプをご確認ください。
 https://pleiades.io/help/idea/using-breakpoints.html#breakpoint-properties
 

参考リンク

 ・公式ヘルプ(デバッグ)
 ・続:今さらだけどIntelliJ IDEAで使えるJavaのブレークポイントあれこれ
 ・IntelliJ IDEAのデバッガのstep over, step into, force step into, step out, drop frame, run to cursor 機能の解説

saitoshi
zozotech
70億人のファッションを技術の力で変えていく
https://tech.zozo.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした