Javaのデバッグ方法

Java基礎 補足

1.本章での学習項目

本章では、プログラミングを行う上で重要となるデバッグの仕方について学習します。

2.デバッグ方法

デバッグの仕方について説明します。

デバッグは、プログラミングの処理を確認しながら逐次進めることができます。
これにより、自分が意図した処理が行われているかを確認することができるので、ソースを改修する際には必須のスキルと言えます。

下記のソースでの実行例を確認しましょう。

package debug;

public class SampleDebug {

	public static void main(String[] args) {
		String sentence = "for文実行完了";

		for(int i = 0; i < 5; i++) {
			int answers = i * i;
			System.out.println(answers);
		}

		System.out.println(sentence);
	}

}

2.1.実行手順確認

2.1.1.実行前準備

デバッグ実施の説明に移る前に、まずは「実行」方法の確認をしていきます。
実行したいソースを開いてください。


appendixes debug1

2.1.2.実行

ソース上で右クリックを押下して、「実行」→「Javaアプリケーション」を選択してください。


appendixes debug2

2.1.3.実行結果

コンソールに実行結果が出力されたことを確認できましたね。


appendixes debug3

2.1.4.デバッグ実施手順

それでは、デバッグ実行をしていきましょう。

2.1.5.デバッグ実施前準備

まずは、デバッグ実施するためにEclipseの設定を行います。
こちらの設定は、デバッグ実施時の初回のみ設定すれば問題ありません。

Eclipse上部にあるメニューの「ウィンドウ」→「設定」を選択します。


appendixes debug18

「設定」画面が開きますので、左側メニューの「実行/デバッグ」を開き、「パースペクティブ」を選択してください。
すると、右側がパースペクティブの設定画面となりますので、
「起動時に関連したパースペクティブを開く」の「常時」を選択してください。


appendixes debug19

次に、「起動」を選択して、「ワークスペースにブレークポイントが含まれている場合、デバッグ・モードで起動」の「なし」を選択して、「適用して閉じる」を選択してください。


appendixes debug20

以上でEclipseの設定は終わりです。

続いてソースの設定です。
10行目と13行目にブレークポイントを設定してください。
ブレークポイントを設定するには、行番号の左側をダブルクリックしてください。


appendixes debug4

ダブルクリックした箇所に青い丸マークがつけば、ブレークポイントを設定したことになります。

2.1.6.デバッグ実施

ブレークポイントを設定したら、ソース上で右クリックを押下して、「デバッグ」→「Javaアプリケーション」を選択してください。


appendixes debug5

2.1.7.デバッグ実行時画面

デバッグが実行されると、処理の実行順序が一番早いブレークポイントで処理が停止します。
処理が停止した箇所の背景色が緑色になり、その行の手前までの処理が実行されます。

そのため、以下の画像では、10行目で処理が止まっているため、10行目のコンソールに出力する処理が実行されていないことが確認できます。


appendixes debug7

2.1.8.ステップオーバー

デバッグにおいて、処理を1行ずつ進めることをステップオーバーと言います。
ステップオーバーは、「F6」キーを押下するか、以下の画像の赤枠で指定した上部バーにあるアイコンをクリックすることで実行できます。

今回は、ステップオーバーを実行したら繰り返し処理(for文)中であるため、8行目に戻ります。


appendixes debug8

ステップオーバーで処理を進めてください。
処理が進む中で変数の値が変わったものは黄色く表示されます。


appendixes debug9

さらにステップオーバーを実行してください。
今度は、answersの値が表示されることが確認できます。


appendixes debug10

さらにステップオーバーを実行してください。


appendixes debug11

2.1.9.再開

次のブレークポイントが設定されているところまで処理を進めることを再開と言います。
再開は、「F8」キーを押下するか、以下の画像の赤枠で指定した上部バーにあるアイコンをクリックすることで実行できます。


appendixes debug12

さらに再開を実行してください。
繰り返し処理のため、今度は10行目から次の処理の10行目まで処理が進みます。
これにより、以下の画像のように、変数iと変数answersの値が変更され、黄色くなっていることが確認できます。


appendixes debug13

さらに再開を実行してください。


appendixes debug14

続いて、ステップオーバーを実行してください。


appendixes debug15

もう一度、ステップオーバーを実行してください。
for文の条件が"i < 5"であるため、for文の中に入らずに13行目まで処理が進みます。


appendixes debug16

最後に、再開を実行します。
これで、コンソールに変数sentenceの値が出力されました。
また、処理が最後まで終了しましたので、変数タブの中身が空になり、終了アイコンも非活性になりました。


appendixes debug17

以上でデバッグの説明は終わります。

2.1.10.最後に

プログラムを書く上で、デバッグは非常に重要なものになります。
処理が分からなくなったときは、積極的にデバッグを使いましょう。
どんな処理をさせるために、そのコードを書いたのかを考えながらデバッグすることが大切です。

Javaのデバッグ方法についての説明は、以上です。

執筆・編集

Tech Fun Magazine編集部
Tech Funの現役のITエンジニアが、システム開発の基礎知識や実践的なノウハウを執筆・編集しています。
Tech Fun ITスクールの研修講師として活躍するメンバーもおり、プログラミング初心者がつまづきやすいポイントを丁寧に解説しています。

ARTICLE
記事一覧

Java基礎

Java12からJava17までに導入された機能の紹介

システム開発の基本

プログラミングとテストの要点

データベース環境構築

データベース環境構築(Windows版) テストデータ作成

データベース環境構築

データベース環境構築(Windows版) MariaDBの設定

データベース環境構築

データベース環境構築(Mac版) テストデータ作成

データベース環境構築

データベース環境構築(Mac版) MariaDBの設定

Java基礎

はじめてのJava

Java基礎

Javaのデバッグ方法

Java基礎

ポリモフィズム

記事一覧を見る