Eclipseで実行時にJavaのスレッドダンプを取る。 [その他]
たまには開発の事も書いてみようと思います。
Windows上のEclipseでJavaの開発していると、自分の書いたバグで固まってしまう事があると思います。そんな時、スレッドダンプを取れたら原因も分かって楽なんですが、コンソールで実行している時のようにCtrlキー+Breakでダンプを取ろうにも取れません。ですが、取り方が分かったので自分へのメモ。但し、JDK6から。
まず、今実行しているJAVAアプリのプロセスIDを取得。
タスクマネージャーでプロセスIDが表示されていない場合は、メニューの「表示」から「列の選択」を選んで、「PID(プロセスID)」にチェックを入れる。
コマンドプロンプトを起動。
>jstack プロセスID
ファイルにして出力したい時。
例えばプロセスIDが8856で、出力したいファイルをhoge.txtだと
>jstack 8856 >hoge.txt
これでカレントディレクトリにdump.txtにスレッドダンプが出力される。
「Java SE 6完全攻略」第4回 Windowsでも利用できるようになった管理ツール
これは本当に助かります。
コメント 0