0

Java プロセスがハングする状況に遭遇しました。junit tcases を eclipse 経由で実行したところ、ハングした別のプロセスが開始されました。

ハングしたプロセスからJavaコアを生成する方法はありますか?この場合、コンソールがないため、ctrl-brkは役に立ちません。

IBM jvm を使用しているため、役に立たない jstack などのオプションを検索してみました。SendSignal は 64 ビットで動作せず、adapatj からのスタックトレースは使用できなくなりました。jconsoleも試しましたが、プロセスIDを選択しようとすると、指定されたプロセスへの接続が試行され続けます。

私が知っているのは、ハングしている Java プロセスのプロセス ID だけであり、そのプロセスがハング状態にある理由を分析するには、Java コアが必要です。

4

2 に答える 2

0

ここIBM JVMsにヒープダンプを取得する方法について言及されているセクションがあるため: http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.mat.ui.help%2Ftasks%2Facquiringheapdump.html

IBM Virtual Machines からのシステム ダンプとヒープ ダンプ

Memory Analyzer は、IBM システム・ダンプおよび Portable Heap Dump (PHD) ファイルからメモリー関連の情報を読み取ることもできます。

このためには、IBM DTFJ 機能を Memory Analyzer バージョン 0.8 以降にインストールするだけです。

IBM DTFJ 機能のインストール手順に従います。
DTFJ 機能が正常にインストールされている場合は、[ファイル] > [ヒープ ダンプを開く] メニューに、ファイル タイプに関する次のオプションも表示されます。
- 1.4.2 VM 用の
IBM DTFJ - ポータブル ヒープ ダンプ用の IBM DTFJ
- IBM SDK for Java (J9) Javadump
- IBM SDK for Java (J9) システム・ダンプ

ダンプを生成するために最低限必要な IBM Virtual Machines のバージョンは、IBM JDK 1.4.2 SR12、5.0 SR8a、および 6.0 SR2 ですが、以前のバージョンでは、Memory Analyzer で使用可能なダンプが生成される可能性がありますが、ルート情報は不正確です。

于 2012-12-15T12:02:13.267 に答える
0

Eclipse の [デバッグ] ビューに移動し、ハングしたプロセスを選択して右クリックし、[プロパティ] を選択すると、Eclipse がプロセスを開始するために使用するコマンドが表示されます。コンソールでこのコマンドを起動し、Ctrl-Break を押します。

于 2012-12-15T12:05:19.230 に答える