Intellij-idea-debugging

提供:Dev Guides
移動先:案内検索

Intellij Idea-デバッグ

デバッガにより、アプリケーションのデバッグがはるかに簡単になります。 デバッガーを使用して、特定のポイントでプログラムの実行を停止し、変数を検査し、機能にステップインし、多くのことを行うことができます。 IntelliJは組み込みのJavaデバッガーを提供します。

ブレークポイント

ブレークポイントを使用すると、特定のポイントでプログラムの実行を停止できます。 ブレークポイントを設定するには、エディターのガター領域にマウスを合わせてクリックします。

ブレークポイントは、赤丸記号を使用して示されます。 3行目に設定されたブレークポイントを考えます。

ブレークポイント

ブレークポイントがどのように機能するかをさらに理解するには、次の手順を検討してください-

  • 赤い丸の記号を右クリックします。
  • *その他*オプションを選択します。
  • ブレークポイントを削除するには、同じシンボルをクリックするだけです。

デバッガを起動するには、次の手順に従ってください-

  • [実行]メニューに移動します。
  • [デバッグ]オプションを選択します。

ステップイン

デバッグ中に関数が検出され、アクションへのステップが選択されると、デバッガーはその関数のデバッグが有効になっているかのように、その関数の各ポイントでプログラムの実行を停止します。

たとえば、プログラムの実行が9行目に達すると、アクションへのステップを選択すると、* sayGoodBye()*関数の各行で実行が停止します。

プログラム実行

踏みでる

ステップアウトアクションは、ステップインアクションとまったく逆です。 たとえば、上記のシナリオでステップアウトアクションを実行すると、デバッガーは* sayGoodBye()*メソッドから戻り、10行目で実行を開始します。

ステップアウト

ステップオーバー

ステップオーバーアクションは代わりに機能に入りません。次のコード行にジャンプします。 たとえば、9行目でステップオーバーアクションを実行すると、実行は10行目に移動します。

ステップオーバー

プログラムを再開

プログラムの再開アクションは、すべてのブレークポイントを無視してプログラムの実行を継続します。

ブレークポイント

停止アクション

停止アクションは、デバッガーの停止に役立ちます。

アクションの停止

スマートな一歩

デバッグ中に、いくつかのメソッドを呼び出すコード行に達することがあります。 これらのコード行をデバッグするとき、デバッガーは通常、 step into を使用することを許可し、すべての子関数を介して親関数に戻ります。 ただし、1つの子関数のみにステップインしたい場合はどうでしょうか? スマートステップインでは、ステップインする機能を選択できます。

今、次のコード行でJavaクラスを作成しましょう-

public class HelloWorld {
   public static void main(String[] args) {
      allFunctions();
   }
   static void allFunctions() {
      System.out.println(function1() + " " + function2() + " " + function3());
   }
   static String function1() {
      return "function1";
   }
   static String function2() {
      return "function2";
   }
   static String function3() {
      return "function3";
   }
}

上記のコードでは、* allFunctions()*はさらに3つの関数を呼び出します。 この関数にブレークポイントを設定しましょう。 スマートステップを実行するには、次の手順に従ってください-

  • 走りに行く
  • スマートステップインを選択します。
  • 移動する子関数を選択します。

子関数

変数の検査

デバッグ中、IntelliJはエディターウィンドウ自体に変数の値を表示します。 デバッグウィンドウで同じ情報を表示することもできます。

変数の検査

式を評価する

式を評価すると、その場で式を評価できます。 このアクションを実行するには、次の手順に従ってください-

  • デバッガーでアプリケーションを開始する
  • Run→ Evaluate 式に移動します。
  • 式を入力します。 以下の例では、変数「i」の現在の値は0です。 したがって、式「i> 100」はfalseと評価されます

式の評価