問題タブ [btrace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
184 参照

java - Javaの基本型配列を追跡する方法は?

メモリに問題があります。そして、ヒープダンプに巨大なchar[]を見つけました。しかし、それがどこから来たのかはわかりません。ウィーク/ソフトリファレンスです。この種の基本的なタイプの配列割り当てを追跡するためのツール/アプローチはありますか?

0 投票する
1 に答える
232 参照

java - btrace 関数を呼び出すことによって使用されるメモリをテストします

btrace を使用して、関数が使用したヒープの量をテストしたいので、次のように記述します。

ここに画像の説明を入力

上記のコードは、私が使用した btrace のサンプルです。

関数を 2 回操作すると、2 つの異なる結果が得られました。

ここに画像の説明を入力

写真が示すように、ヒープ コストは異なります。あるものは別のものの 2 倍です。

0 投票する
2 に答える
1311 参照

java - btraceの使用方法

btraceを勉強したいです。

javaプロセスユーザーはyubaofuです

yubaofu@btracesudo sh /home/yubaofu/study/btrace/bin/btrace 24234 JInfo.class
既知のファイルは安全ではありません

yubaofu@btracesh /home/yubaofu/study/btrace/bin/btrace 24234 JInfo.class
接続が拒否されました

同様の問題を見つけました

それを解決する方法は?

os:ubuntu12
jdk:jdk7

0 投票する
1 に答える
476 参照

java - BTrace を使用して、クラスが初めて作成されたときを見つける

BTrace を使用して、プログラムで特定の型が最初にインスタンス化されたときを見つけようとしています (Eclipse デバッガーはそれを見つけることができません)。作成されているはずです)。

とにかく、JVisualVM を介して使用している次の方法がありますが、実行時に何も表示されません。

0 投票する
1 に答える
439 参照

java - Java 仮想マシン スレッドを強制終了する BTrace スクリプト

VisualVM は、安全でない BTrace スクリプトの実行をサポートしています ( https://kenai.com/projects/btrace/pages/UserGuide )。安全でない BTrace スクリプトを使用して Java スレッドを強制終了/中断することはできますか? Eclipse IDE の一部のスレッドがデッドロックしているため、IDE を適切にシャットダウンしたいと考えています。

"Worker-3571" prio=6 tid=0x00000000114b7800 nid=0x964 モニター エントリ [0x000000002a45f000] を待機中PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155) - org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) で <0x00000000f7490ce8> (java.lang.Object) をロックするのを待っています

"Worker-3568" prio=6 tid=0x00000000114b9000 nid=0x2984 モニター エントリ [0x000000002958f000] を待機中PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155) - org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) で <0x00000000f7490ce8> (java.lang.Object) をロックするのを待っています

"Worker-3570" prio=6 tid=0x00000000114bc000 nid=0x1980 in Object.wait() [0x000000002998f000] java.lang.Thread.State: WAITING (オブジェクトモニター上) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:503) at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:457) - ロックされた <0x00000000e10979a0> (a java.lang.Object) org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:128) で org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:170) で org.eclipse.jdt .internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$3.run(SelectionListenerWithASTManager.java:155) - org で <0x00000000f7490ce8> (a java.lang.Object) をロックしました。eclipse.core.internal.jobs.Worker.run(Worker.java:53)

0 投票する
1 に答える
194 参照

java - btrace に関するコードの意味は何ですか

次のコードでは:

これはどういう意味ですか: get(field("java.net.URL", "authority"),instance)?

ドキュメントを参照してください。

0 投票する
1 に答える
255 参照

btrace - Btrace unsafe モードで新しいオブジェクトを作成できないのはなぜですか?

Btrace UserGuide ( https://kenai.com/projects/btrace/pages/UserGuide ) では、「BTrace 制限」を参照し、アンセーフ モードでは「BTrace 制限」を参照しません</p>

BTrace 制限では、新しいオブジェクトを作成できません。新しいアレイを作成できません。例外をスローできません。... ... ...

サポートされている引数は安全ではありません - btrace 制限違反をチェックしません (tr​​ue/false)

私の btrace シェルでは、既に -Dcom.sun.btrace.unsafe=true を設定していますが、新しいオブジェクトを作成することさえできません。なぜですか?

0 投票する
1 に答える
416 参照

btrace - com.sun.btrace.VerifierException: スクリプトによって要求された安全でないモードは許可されていません

Ubuntu 13.10

btrace 1.2.4

私は-Dcom.sun.btrace.unsafe=trueパラメータを編集して割り当てました@BTrace( unsafe = true )

しかし、btrace スクリプトを実行すると、例外がスローされます。

btrace 1625 ProductRPCNewBtrace.java

DEBUG: btrace デバッグ モードが設定されています

デバッグ: btrace アンセーフ モードが設定されています

デバッグ: デフォルトのポート 2020 を想定

デバッグ: デフォルトのクラスパス '.' を想定

デバッグ: ProductRPCNewBtrace.java をコンパイル中 デバッグ: ProductRPCNewBtrace.java をコンパイル中

DEBUG: 1625 にアタッチ

デバッグ: ポートの可用性を確認しています: 2020

DEBUG: 1625 に添付

デバッグ: /export/servers/btrace/build/btrace-agent.jar を読み込んでいます

デバッグ: エージェント引数:

port=2020,debug=true,unsafe=true,systemClassPath=/export/servers/jdk1.6.0_25/lib/tools.jar,probeDescPath=.

デバッグ: ロードされた /export/servers/btrace/build/btrace-agent.jar

デバッグ: シャットダウン フックを登録しています

DEBUG: SIGINT のシグナルハンドラを登録しています

DEBUG: BTrace プログラムの送信

デバッグ: 2020 年にソケットを開く

DEBUG: 機器コマンドの送信

デバッグ: コマンド ループに入る

デバッグ: com.sun.btrace.comm.ErrorCommand@3c24c4a3 を受け取りました

com.sun.btrace.VerifierException: スクリプトによって要求された安全でないモードは、com.sun.btrace.runtime.Verifier.reportError(Verifier.java:385) で com.sun.btrace.runtime.Verifier.reportError( Verifier.java:376) com.sun.btrace.runtime.Verifier$1.visit(Verifier.java:141) com.sun.btrace.org.objectweb.asm.ClassReader.a (未知のソース) com.sun .btrace.org.objectweb.asm.ClassReader.a (不明なソース) com.sun.btrace.org.objectweb.asm.ClassReader.accept (不明なソース) com.sun.btrace.org.objectweb.asm.ClassReader .accept(不明なソース) com.sun.btrace.runtime.InstrumentUtils.accept(InstrumentUtils.java:66) com.sun.btrace.runtime.InstrumentUtils.accept(InstrumentUtils.java:62) com.sun.btrace .agent.Client.verify(Client.java:397) com.sun.btrace.agent.Client.loadClass(Client.java:224) で com.sun.btrace.agent.RemoteClient.(RemoteClient.java:59) で com.sun.btrace.agent.Main. com.sun.btrace.agent.Main.access$000(Main.java:65) で startServer(Main.java:379) Java で com.sun.btrace.agent.Main$3.run(Main.java:166) で.lang.Thread.run(Thread.java:662)

デバッグ: com.sun.btrace.comm.ExitCommand@11e9c82e を受け取りました

デバッグ モードを開くと、アンセーフ モードが開いていることがわかります。しかし、なぜまだアンセーフ モードをサポートしていないのでしょうか??

0 投票する
1 に答える
248 参照

btrace - BTrace の -classpath パラメータはどのように多くの jar ファイルをサポートしていますか?

BTrace を使用する場合、サードパーティの jar ファイルに依存する必要がある場合があります。

BTrace スクリプトをサポートするには、a.jar と b.jar をインポートする必要があるかもしれませ-classpathん。