問題タブ [javaagents]

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 に答える
4156 参照

java - インストルメンテーションを使用して未処理の例外を記録する

インストルメンテーションを使用して Java アプリケーションをデバッグしようとしていました。現在のシステムの問題点は、

  • ログステートメントはほとんど書かれていません
  • 貧弱な例外処理

これにより、壊れた機能の根本原因を追跡することが非常に困難になりました。

この状況に対処するために、API を使用してツール、Java エージェントを開発しましInstrumentationた。ログ ステートメントを挿入することができ、問題の半分は解決されました。

しかし、次の問題は、例外を記録することです。アプリケーションの実行中に例外がスローされるたびに、ツール レコードを拡張したいと考えています。javaassistメソッドの API を使って ( addCatch、 、を使用しinsertBeforeて)、 try-catch ブロックを挿入してみましinsertAfterたが、ある程度効果があります。

ここで inserLog(..)、メソッドは必要なログ ステートメントを挿入し、正常に動作しますが、例外が発生するとトランスフォーマーに到達しません。

しかし、問題は、一部のメソッドが内部で例外を処理することです (log/sysout がなくても)。

例えば:

NullPointerExceptionこのコードは、の値がnullのときに食べsearchます。この例外とアプリケーションが何か他の理由で失敗することはわかりません。

最終的に私が欲しいのは、アプリケーションによってスローされた例外を記録するメカニズムです。以下の詳細を取得する必要があります

  • 例外の種類
  • 例外スタックトレース
  • メソッドとクラス名

API があることは知っていますThread.setDefaultUncaughtExceptionHandlerが、Java インストルメンテーションでどのように使用するかはわかりません。アプリケーションにアクセスするソースがありません。

【アップデート1】

以下のリンクを使用するようretransformationに指示されていることがわかりました。試して更新します

Javaシステムクラスを計測する方法は?

どんなガイダンスも非常に役に立ちます。

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

java - JUnitとaspectJが連携しない

私は読み込み時間の織り方でaspectJを使用しています。

Tomcat サーバーを実行するには、jvm 引数を追加する必要があります。

サーバーは完全に織りで動作します。

問題は、junit テストを実行しようとすると、すべてがウィービング エラーで失敗することです。サーバーにもjvm引数を指定しないと、ウィービングエラーが発生します。

そのため、junit テストを実行すると、エージェントが呼び出されない可能性が高くなります。

jvm引数でjunitを実行するように正確に設定するにはどうすればよいですか?

ありがとう

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

jvm - Gradle Application Plugin : -javaagent オプションを使用して jvm アプリケーションを実行するにはどうすればよいですか?

gradle (v1.10) でアプリケーション プラグインを使用して、アプリをパッケージ化して実行します。

そのため、アスペクト (aspectj) を使用する必要があり、アスペクト j コンパイラ (ajc) を使用したくありません。

gradle アプリケーションの実行スクリプトを微調整して、私のアプリを load-time-weaving で実行することは可能ですか? jvm オプションを提供するようなもの:

-javaagent:_path_to_aspectj_weaver.jar

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

eclipse - java.util.Logger を使用した JBOSS AS 7.1 での LogManager 例外

-javaagent私はJavaアプリケーションを作成し、そのアプリケーションでjava.util.Loggerを初期化し、jboss AS 7サーバーとIllegalStateException同じようにそのアプリケーションを実行しました.

上記のコード行を追加してjarを作成-javaagentし、jboss as7サーバーで実行すると、次の例外が発生しました

そして、私は四分の一で検索し、サーバー定義の起動構成を開くという解決策を得ました。-logmodule org.jboss.logmanagerの前にプログラム引数に追加しますorg.jboss.as.standalone。ただし、同じ例外が発生し、追加の警告が表示されます。ここに例外があります