eclipseを使ったデバッグ方法まとめ

ちょっと名古屋に行ってたので勉強してませんでした

観光ついでにオクトーバーフェストで呑んだくれてました。
こういう無茶ができるのも今ぐらいかなぁ、とか。へろへろです。

今日からセルフ勉強会再開…です。

eclipseを使ったデバッグ方法

単体試験は主にデバッガを使って値を変更しながら実施します。
意外と面倒。

とりあえず、ブレークポイント置いて、デバッガモードで起動して…
ブレークポイントで処理を止めることができたらファンクションキーで操作をする。
F5 -- 次の処理へ
F6 -- 1行下へ
F7 -- メソッドの呼び出し元へ
は基本として。

F8 -- 次のブレークポイント

フレームにドロップボタン -- 現在のスタックフレームに再突入する。
平たくいえば現在実行されているメソッドの先頭に戻る。
ローカル変数はクリアされるけれども、グローバル変数はクリアされない。
つまり、以下のような場合、エラーになる。

BufferedReader br;
try{
 br = new BufferedReader(new InputStreamReader(req.getInputStream(), "UTF-8"));
 String str;
 StringBuilder sb = new StringBuilder();
 while((str = br.readLine()) != null){
    sb.append(str);
  } 
}catch(IOException e){
 e.printStackTrace();
}finally{
 if(br != null){
   br.close(); //この処理を終えた上で、フレームにドロップで再突入する
 }
}

req.getInputStream() … ローカル変数ではない …がもう読めない状態になっているので、
IOExceptionが発生する。

逆に言うと、これを使えば単体試験で例外を簡単に発生させられる。

監視式と表示ビュー

次回の話のタネに。実はよくわかっていない部分なので勉強します。