Intellij-idea-debugging
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と評価されます