1

この問題について SO コミュニティからアイデアを得たかったのです。

問題は次のとおりです。

世界の反対側に、WebStart を介してアプリを起動するユーザーがいます。しかし、ユーザーは、アプリケーション全体がフリーズして応答しなくなると不満を漏らしています。通常、クライアントは分散データベースに対して多くのデータベース クエリを実行します。

質問:

  1. 彼女にアプリケーションでCTRL-Breakを実行するように依頼した場合、JVM はスタック トレースをどこに書き込むでしょうか?
  2. JConsoleを使用するだけで十分でしょうか?
  3. クライアントにJMX Beanを実装するのはやり過ぎでしょうか? 本番環境での問題のトラブルシューティングに実際に役立ちますか?

現在、ユーザーは JRE 1.5.0-b08 で実行していますが、数か月以内に JRE 6 に移行する予定です。

どう思いますか?

4

3 に答える 3

2

José さん、JVM からはさまざまな方法で多くの情報を取得できます。

リモート JVM でデバッグを有効にするのが最善の方法かもしれません。ここj2seに示すように、記述子 XMLの要素を使用して設定できます。設定できるので、良いスタートを切ることができます。Web Start アプリでリモート デバッグを試みたことがないので、リモート部分の設定に少し問題があるかもしれません。-Xdebug

別のスレッドを追加してリモートで通信し、デバッグ メッセージを送信することで、自分でいくつかの設定を行うこともできます。

ネイティブの Javaまたはlog4j リモート ロガーを使用できます。

ただし、あなたが説明したようにハングしている場合は、何らかのネットワーク ハングアップが発生している可能性が非常に高くなります。会話の最後にトレース/デバッグを追加できますか?

于 2009-04-07T18:48:13.233 に答える
0

Java コンソールを表示し (コマンドラインから javaws を実行し、[設定] ダイアログからこれを選択)、「v」を押す必要があります。

于 2009-04-07T17:37:00.440 に答える