Hello World

Hello World

ソースコード

Javaでは CやC++と違い、アプリケーションのエントリポイントであるmainメソッドもクラスに所属させる必要があります。

 

コンパイル

Eclipse

Eclipseでソースを編集している場合は、編集中にも随時コードチェックが行われ、ファイルを保存するたびにコンパイルが行われます。

 

コマンドライン

コマンドラインでコンパイルする場合はjavacコマンドを使います。

HelloWorld.javaファイルと同じディレクトリ(フォルダ)にHelloWorld.classファイルが作成されます。

 

デバグ時にローカル変数にアクセスできるようにするには「-g」オプションを付けます。

 

実行

Eclipse

Eclipse上で実行する場合は、ツールバーの「実行」ボタンを押してプログラムを実行します。

 

コマンドライン

コマンドラインで実行する場合はjavaコマンドを使います。javacコマンドと違ってファイル名ではなくクラス名を指定する点に注意が必要です。

 

デバグ

Eclipse

Eclipse上でデバグする場合は、ツールバーの「デバグ」ボタンを押してデバグを開始します。Javaパースペクティブからデバグパースペクティブに切り替わり、デバグに適したビューが表示されます。

 

コマンドライン

コマンドラインでデバグする場合はjdbコマンドを使います。javaコマンドと同様にファイル名ではなくクラス名を指定します

 

jdbでは様々なコマンドを使ってデバグを行います。「help」と打つとjdbで利用できるコマンドの説明が表示されます。jdbの主なコマンドを次に示します。

jdbの主なコマンド
分類 コマンド 概要
ブレークポイント stop at <クラス>:<行番号> 行番号を指定してブレークポイントを設定します。
stop in <クラス>:<メソッド> メソッドの開始行にブレークポイントを設定します。
clear (名前とは裏腹に)ブレークポイントの一覧を表示します。
clear <クラス>:<行番号> 行番号を指定してブレークポイントをクリアします。
clear in <クラス>:<メソッド> メソッドの開始行のブレークポイントをクリアします。
操作系 run [クラス [引数]] アプリケーションのメインクラスを実行します。ブレークポイントで止まります。
cont ブレークポイントから実行を続行します。次のブレークポイントで止まります。
step 1行ずつステップ実行します。メソッドを呼び出している行ではメソッドの中には入りません。
stepi 1命令ずつステップ実行します。メソッドを呼び出している行ではメソッドの中に入ります。
step up 現在のメソッドがメソッドの呼び出し元に戻るまで実行します。
up [フレーム数] スレッドのスタックを上に移動します。
down [フレーム数] スレッドのスタックを下に移動します。
出力系 print <式> 式や変数の値を出力します。
locals 現在のスタックフレームの全てのローカル変数を出力します。
threads スレッドのリストを出力します。
where [<スレッドID> | all] スレッドのスタックをダンプします。
list [行番号|メソッド] 実行中のソースコードを出力します。
変更系 set <値> = <式> フィールドや変数の値を変更します。

コマンドラインでの操作はとても面倒なので、IDEを使える環境であればIDEを使った方がデバグの効率が上がります。

 

タイトルとURLをコピーしました