ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

シンプルなJPDA(Java Platform Debugger Architecture)のサンプル

参考図書

Eclipse 3.6 完全攻略

Eclipse 3.6 完全攻略

準備

public class Main {
	public static void main(String[] args) throws Exception {
		while(true) {
			System.out.println("Hello, World!");
			Thread.sleep(10000);
		}
	}
}

こういうソースファイルが一つだけある、
JavaプロジェクトをEclipseで作成する。

実行する

8000番ポートでSocket接続で待ち受けするように、オプションを指定して起動する。

>java -agentlib:jdwp=transport=dt_socket,server=y,address=8000 Main
Listening for transport dt_socket at address: 8000

その他の方法については、
JPDA の接続および呼び出し
参照。


デバッグ接続待ちになるっぽい。(プログラムの実行は開始せず)

Eclipseからリモートデバッグ接続する

実行>構成およびデバッグ>リモート Javaアプリケーション>新規

  • プロジェクト:Test
  • 接続タイプ:標準 (ソケット接続)
  • ホスト:localhost
  • ポート:8000

デバッグボタンをクリック
(ここでプログラムの実行が始まる)

後は

ブレークポイントを仕掛けて煮るなり焼くなり。