Java で例外が発生した時はスタックトレースが出るが、その際に、「ファイル名:行番号」が Unknown Source となっていて、例外の場所特定に苦労する場合がある。 これは、javac コマンドによるコンパイル時にデバッグ情報を載せないでコンパイルをかけているためである。デバッグ情報を載せないとその分 class ファイルのサイズが小さくなるが・・・。 デバッグ情報を載せるには、javac コマンドを実行するときに -g オプションを指定する。Sun の JDK が持つ javac コマンドは標準でデバッグ情報が載るようになっているはず。 また、ant でビルドする場合は、javac タスクの属性 debug を on にして実行する。ant1.2 以降はこのデバッグ情報が載らないのがデフォルト設定となっているので要注意! ant の使用方法は ant詳説 が便利。
![Javaのスタックトレースに行番号が表示されない・・・ | + お仕事 Lat 43°N +](https://cdn-ak-scissors.b.st-hatena.com/image/square/54eff32cbec67087a89d7c297b7df8ca5afe5c62/height=288;version=1;width=512/https%3A%2F%2Fimage.excite.co.jp%2Fjp%2FappleIcon%2Fapp%2Fblog%2Fapple-touch-icon.png)