広告
  サイト内検索:
<Let's create a game!> Introduction of programming for absolute beginners English
 

SESSION 11 その38
デバッグの基本 つづき
  IDEの基本のデバッグ機能


IDEの基本のデバッグ機能

エラー表示機能
ブレークポイント機能
ウォッチ機能
ステップ実行機能
 
練習用コードの内容が分かった
ところで、このコードを使って
デバッグの解説をしていくよ。

IDEの基本的なデバッグ機能
それを使ったデバッグの仕方
見ていこう。

IDEにはエラーを調査する
ための様々な機能が
用意されてるんだよ。
虫探しね。
IDEって
頼りになるー!
IDEの機能を
使って、バグを
見つけるんだね。


じゃあ、デバッグを
始めよう。

練習コードを見てくれ。
うーん。

でも、このコード、
最初からエラーが
出ちゃってるけど?
あのね・・・

何の練習か
分かってる?
大丈夫かな?
 
エラー解析用の練習コード
エディタウィンドウ

  エラー表示機能

まずIDEの基本的な
エラー表示機能
を2つ見ておこう。

これは、
エラーの内容を表す
エラーメッセージ
表示する機能のことね。

これを読めば、
エラーの内容が
分かるんだね。

 
 


最初に
実行前のエラー表示機能。

コードにエラーがあると
エディタに赤い線が表示される。

これはもう見てるけどね。

これでまず、
エラーの内容を確認しよう。
 
 
カーソルをエラーの上に
載せると、エラーの内容が
表示されるんだよね。
 
エラー表示:シンボルを見つけられません
エディタウィンドウ


簡単だけど。
この機能では
主にJavaの構文間違いとか
Javaの仕様と違う場合の
エラーが表示されるよ。

今回のエラー原因分かるか?
コードを修正してくれ。
 
これは分かるよ!

「シンボル」って前にも
見てるから。

変数 a が宣言
されてないんだね!
  ばっちり!

intって
書けば
いいだけね!
 
 

デバッグテスト用コード
(KotoDebugのKDMain.java)20行目~
 
・・・    
020       //*******************  
021       //実行時エラーテスト  
022      System.out.println("");  
023      System.out.println("********** 実行時エラーテスト結果 **********");  
024      System.out.println("");  
025      
026      int a = 3;//変数a を 3で宣言して初期化  
027      System.out.println("100を" + a + "で割ると" + (100/a) + "です。");  
028      
029       a -= 1;  
030       System.out.println("100を" + a + "で割ると" + (100/a) + "です。");  
031      
032       a -= 1;  
033       System.out.println("100を" + a + "で割ると" + (100/a) + "です。");  
034      
035       a -= 1;  
036       System.out.println("100を" + a + "で割ると" + (100/a) + "です。");  
・・・  
黄色の部分を書き写して下さい。


やった!

エラーが消えたよ!
おっけ。

これは変数が
宣言されてない時の
エラーだな。

まず1つエラーを
解消したな。
クリア!
おめーとさん。
 
エラー解析用の練習コード
エディタウィンドウ


もしかして
わざと宣言して
なかったの?

あのね・・・。

どんだけ
ポンコツだと
思ってる?

     

 
じゃあ、
エラーが消えたところで
練習コードをデバッグ実行
してみてくれ。
はいっ!

あっ、実行したら
エラーが出たよ!
まずは
エラーを
読んでみてね。
別の
バグだ!
 
実行結果(出力ウィンドウ):実行時エラー
実行結果(出力ウィンドウ)


バグだらけー
次に実行時エラーの表示機能。

実行した結果がエラーに
なった場合出力ウィンドウに
エラーメッセージが表示される。

これで、実行時のエラーの
内容を確認しよう。
 
「実行」してエラーが
表示されたから
これは「実行」時エラー
なんだね。
  だらけー
 



エラーメッセージの内容

Exception in thread "main" java.lang.ArithmeticException : / by zero
mainスレッドで例外が発生した 例外名   原因内容
 
at kotodebug.KDMain.main( KDMain.java:36 )
例外を発生したクラスの関数名 ファイル名と行番号  

「ファイル名と行番号」をクリックでエラー箇所に移動できます
 
エラーメッセージの見方は
こんな感じ。

「例外名」や「原因内容」の
英語の意味を調べれば、
エラー内容のおおよその
見当がつく。

ネットや辞書を使って
調べてみよう。

標準APIのJavadocを使って
で調べる事もできるよ。
「例外」は
「エラー」と
同じ意味ってことで。

今のとこはね。。。
これなら
分かるかも。
いろいろな調べ方が
できるんだね。
 
オンラインAPIドキュメント overview-summaryのページ
http://docs.oracle.com/javase/jp/6/api/overview-summary.html
(オラクル社のページを表示します)


このエラーメッセージを
見てみると「Arithmetic」
って出てるところから
算術関係のエラー
って
ことが分かるな。
英語
調べてねー
うーん
なんだろう。

0点ってこと?
計算のエラーで・・・

エラーの原因内容の
「/ by ZERO」
って何かな?


エラーメッセージを
調べてみても
よく分からない場合。

まずは、エラー行と
その周囲のコードに
エラーの原因が無いか
調べてみよう。

うーん、分かんない・・・。

前の行とか見ても
特に問題はないような・・・。
 
難しい。。。
 

デバッグテスト用コード
(KotoDebugのKDMain.java)20行目~
 
・・・    
020       //*******************  
021       //実行時エラーテスト  
022      System.out.println("");  
023      System.out.println("********** 実行時エラーテスト結果 **********");  
024      System.out.println("");  
025      
026      int a = 3;//変数a を 3で宣言して初期化  
027      System.out.println("100を" + a + "で割ると" + (100/a) + "です。");  
028      
029       a -= 1;  
030       System.out.println("100を" + a + "で割ると" + (100/a) + "です。");  
031      
032       a -= 1;  
033       System.out.println("100を" + a + "で割ると" + (100/a) + "です。");  
034      
035       a -= 1;  
036       System.out.println("100を" + a + "で割ると" + (100/a) + "です。");  
・・・  
はエラーを起こした行

 
 

広告
home もくじ 前のページを読む 次のページを読む
  サイト内検索:
広告
お勧めの姉妹サイト
leafdays - リーフデイズ 超初心者のための園芸入門 - 楽しい趣味のガーデニング -
広告