サポート > Wagby Developer Network > 業務処理のカスタマイズ > スタックトレースの取得方法

概要

プログラムのスタックトレースには、デバッグに有用な情報が含まれていることがあります。 ここでは、Webアプリケーション上(正確にはWebアプリケーションが動作しているJVM上)に存在する全スレッドのスタックトレース情報を取得する方法について示します。

手順

スタックトレース取得までの手順を以下に示します。

1. wagbyapp\binで次のコマンドでWebアプリケーションを実行して下さい。

> catalina.bat jpda start

コンソールに 「Listening for transport dt_shmem at address: jdbconn」 と表示されます。

2. 次の内容のファイルを、「jdbcom.txt」という名前で用意して下さい。

suspend
where all
resume
exit

3. スタックトレース情報を取得する場合は次のコマンドを実行して下さい。

> jdb -attach jdbconn < jdbcom.txt > result.txt

ファイル「result.txt」にスタックトレース情報が格納されます。

result.txtは次のような内容です。

uncaught java.lang.Throwable を設定しました
保留した uncaught java.lang.Throwable を設定しました
jdb の初期化中です...
> すべてのスレッドが中断されました。
> Store jp.jasminesoft.jfc.model.jgroup.Jgroup Expiry Thread:
  [1] java.lang.Thread.sleep (ネイティブ メソッド)
  [2] net.sf.ehcache.store.DiskStore.expiryThreadMain (DiskStore.java:641)
  [3] net.sf.ehcache.store.DiskStore.access$700 (DiskStore.java:89)
  [4] net.sf.ehcache.store.DiskStore$ExpiryThread.run (DiskStore.java:772)
Store jp.jasminesoft.jfc.model.jgroup.Jgroup Spool Thread:
                              .
                              .
                              .
                            以下略