問題タブ [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 投票する
0 に答える
672 参照

jar - BTrace を使用すると、「Agent JAR が見つからないか、Agent-Class 属性がありません」というエラーを修正する方法を教えてください。

BTrace を使用すると、この問題が発生しました。しかし、私はそれを修正する方法がわかりません。Linux コマンドは次のとおりです。

問題は:

Agent JAR が見つからないか、Agent-Class 属性がありません。

0 投票する
0 に答える
285 参照

btrace - btrace をシャットダウンするには?

アプリケーションの計測に btrace を使用しています。Btrace が行うことは、実行中の JVM にバイトコードを挿入して、ターゲット アプリケーションをトレースすることです。また、トレーサー クライアントとアプリケーションの間で通信するためのソケット接続もセットアップします。

トレーサー クライアントを停止しても、アプリケーションに挿入されたコードは削除されません。引き続きトレースし、このポートを介して結果を送り返します。クライアントが存在しないため、トレース結果を送信しようとすると例外が発生します。

アプリケーションに接続した後、アプリケーションの計測を解除し、btrace を正常にシャットダウンするにはどうすればよいですか?

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

btrace - btrace 無効なパス 9116 が指定されました: 2/そのようなファイルまたはディレクトリはありません

i は Linux で btrace を使用しています,注意: 無効なパス 9116 が指定されました: 2/No such file or directory my exec コマンド:btrace 9116 AllMethods.java my home path is ok, i got Pid by jps, btrace version is 1.3.8.3

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

java - COMPUTE_MAXS は StackMapTable を削除しています

オープンソース ライブラリ Btrace を使用して、Java アプリケーションのプロファイルを作成しています。

いくつかのバグを見つけたのでいじっていましたが、それらを修正しようとしているときに、不思議な出来事に遭遇しました.

基本的に、私はフラグ付きの ClassWriter を使用しています。COMPUTE_MAXS私の意図は、既存のメソッドの StackMapTables をいじることではありません (いかなる状況下でも)。

ただし、いくつかのケースでは StackMapTables を再計算していない可能性がありますが (再計算するCOMPUTE_FRAMES必要があります)、実際の StackMapTable が「欠落」しているようです。

これが例です。

元のコード:

コマンドjavap -p -v -c <class>を使用して、クラス内のすべてのメソッドの StackMapTables を調べています。残念ながら、完全な出力をここに記載するには長すぎますが、焦点を当てたいポイント、本質的にはクラスのコンストラクターを記載します。

元のコンストラクタ:

変換されたコンストラクター:

わかりにくいですが、両方の出力をテキスト差分ツールで実行したところ、次のことがわかりました。

ここに画像の説明を入力

明らかに、StackMapTable 全体を削除しています。私の質問は、なぜ/どのようにこれが起こるのでしょうか?

フラグについて調べてみましたが、COMPUTE_MAXSこれが意図した動作なのか、それとも何か他のことが原因で発生しているのかはわかりません。

ありがとう!

アップデート:

問題を警告するエラーを入れるのを忘れました: