代替のソフトウェアのようにDoodleグを見走アロンのjavaアプリケーションの価値観など。検索のヒープダン?

StackOverflow https://stackoverflow.com/questions/2019624

質問

私が体験した事のなjavaアプリケーションでうまくしていることが分かった発見静のポインタ。これらの応用のメモリのアドレスが(ほぼ)不明のためのjavaエンジンを取り扱うにコードが正しい場合は、このネーミングしていること自体が間違っていてください).

現在使用しましたDoodle(https://visualvm.dev.java.net/ です。を選択できま僕のjava処理をヒープダンプその後、図ってあえぐ者はみな、私のところの授業とその値には使用できません。

できますかこのメソッドを使用continousely世論調査では、ヒープのダンプを受けるオブジェクトの値は、例えば、X Y Zゲーム?方法を教えてくださいプログラムとの交流などの場合ことは避けなければならない行Doodle、どのように代替?

編集:アドバイスをお聞かせ下さい: 私は必要なを見つけられるよう、すべてのクラスの性質が一定の値です。例えば:思索のX座標(float)とを返すべきであるクラス"PlayerCoordsHandler"(一例)および対応するfloatの値...またそのようなこじfloat再度再起動します。このプロセスでなくてプ,aslongとして要求するの値を現在知られてい(float x)取得できるプログラム(例えば、コマンドラインユーや読書ファイルから).

Edit2: のアプリケーションのターゲットがwindowsの実行がされたjava)及び新で独自のjava VM.できなjavaのパラメータのデバッグしやすくなります。このするものではありません必要なものとしてVirtualVMできるデバッグの工程です。誰でも知っていかがですか?

よろしくお願いします。

役に立ちましたか?

解決

このように見えたデバッグ実行しているJava。

の"公式"Javaデバッガは、JDB.思っていうのはそういうものを推奨します。での投資を維持しながら、生産性の検討を盛一覧表示も変化変数は、実行中のスレッドです。通常のデバッガます。そのコマンドラインで同期することにより、首が痛くすることが可能です。

その代わりに、意使用IDE一体型アンインストールします。使っている。いすべての通常のdebuggeryものを含め、表示窓の変数.設定できる条件付きブレークポイントがあります。具体的には不明な点があれば、ここでお答えをセットアップすることができ腕時計の表現、評価のプログラムの実行とその表示のリフレッシュの新しい価値観が変わるものである。

せるために実際のJavaアプリ内のIDE;以外にも、ほかのお手続きを走るウェブアプリケーションサーバーです。この問題のためのJDBやEclipse(その他のIdeのように、ボタンひたIntelliJ Idea):ることができるランニングJVMおよびデバッグすときと同じレベルの便利です。

プログラムデバッグされている最中、このような遠隔又は、少しゆっくり満に終わることはありませんでした.ゲーム、デバッグされている最中に、実行時よりbad-looking FPS;ものでも対応は普通にゲームをします。


リモートデバッグ:

できる添付 EclipseXsltproc、デバッガを走行中のJavaプロセスに必要なことに始まるプロセスは以下のJavaオプション...

-Xdebug -Xrunjdwp:transport=dt_socket,address=3704,server=y,suspend=n

他のヒント

してい YourKit.を監視することができCPU、メモリ、スレッドがライブ、ダンプします。でも比較メモリダンプ表示するに当たって追加または削除されます。

で無料ではないものの、15日、30日には?) 完全に機能的なエバール。場合は無料ではないの関心レコード店ディスクユニオンのツールだなと。

私は出発点に jpsjstat ツールの追加Java6(ます。 jps きのpidを行い、メインクラス々な用途に対応できます。 jstat きの詳細についての過程

発動には、ただで練のために死後の解析もメモリリークが、Javaガベージコレクタの移動物体の周辺には利用できませんメモリ値、ただに確実にアクセス方にオブジェクト。

が必要な場合にクエリ内の値を外部からのアプリケーションのように設RMIサービスAPIによる取得できる価値あります。

もう一つの方法だけをテストする必要があり何かできるとの接続にデJavaデバッグAPIとなります。

がわかっている場合は、それをJREの場所に使用される、名前の変更java.exe 書(C/C++)ラッパーを追加するにはデバッグオプションの上場によるカール-通話をrenamed_java.exe しました。

別の仕が追加、更新の授業を .jar ファイルのものに限ります。する必要はないの源ではないかと思います。

Tomは、ごうとしてリバースエンジニアリングしたり他のアプリケーションに対する具体的にはう蓑作業?まだまだメーカーに問い合わせに伝えることの可能性も見えますの達成に努める?

簡単に生成するヒープのダンプをおJMX接続のJVMのように、Doodleいます。分析は、ただでのデータが完全に切り離され、JVMではありませんからの干渉のgc)があります。

しかしながら非常に具体的なシナリオをお探しましょうもないほうがよいのただへ マット 普段聞けない話やワークフローがあります。

編集: この場合の方が良いでしょかけを作の特定のAPIにアクセスの値から、外部か公開の値としてMbeanを使用JMX).をヒープのダンプにはまだ多くの仕事がしたいない監視の数値です。

Edit2: に基づく編集となっているように思いようにみんなから出版独自のMBean上JMX.している会議がない限り、他の誰かがいながいかみたいと思いま忘れずに過ごせばよいかを教えてくれるポインタです。のいずれかの編集のことは新します。

したい場合は投票価値を特定のオブジェクトがJavaアプリケーションを起動すばらくその利用 JMX はためのより良い、より効率的なアプローチによりヒープダンプとJMXを定義しておくことができま何をするに晒され、使用ツールなどのDoodleはJConsole追いつめるが、あと一歩のところで行います。

とDoodleとただすべてを見つけることができるの授業に一定の物件OQL:

var out = "";
var cls = filter(heap.classes(), "/java./(it.name)")

while (cls.hasNext()) {
  var cl = cls.next();
  var fls = cl.fields;
  while (fls.hasMoreElements()) {
    var fl = fls.nextElement();
    if (/size/(fl.name)) {
      out = toHtml(cl) + "." + fl.name + "()\n";
    }
  }
}

out.toString()

書カスタムロギングのための BTrace

での代替のためのデバッグしやすくなります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top