0

私は何年も前に Java ネイティブ エージェントを使用していましたが、これに戻りつつあります。私は思っていた....彼らに何が起こったのですか?

jdk1.6/demo/jvmti ディレクトリに例がありましたが、Java 7 では demo ディレクトリはないようです。彼らに何が起こりました?

とにかく、私は 1.6 のデモ (Windows 上) を見つけ、jdk 1.6 を使用して Linux と Mac でそれらをコンパイルしようとしています。Mac 用のサンプル makefile の例はないので、これが最も助けが必要なものです。jdk 1.6 を使用してネイティブ エージェントをコンパイルする方法はありますか? jdk 1.7はどうですか?

Linux では、どうにかエージェントを jdk 1.6 でコンパイルできるようになりましたが、java_crw_demo コードに依存するエージェントは機能しないようです。私はそれらを間違ってコンパイルした可能性があると思います。

問題のデモは次のとおりです。

  • agent_util
  • gctest
  • ヒープトラッカー
  • ヒープビューア
  • hprof
  • java_crw_demo
  • ミンスト
  • mtrace
  • バージョンチェック
  • ウェイター

とにかく、エージェントに関するグーグル検索は、エージェントがまだjdk 1.7で使用されていることを暗示しているようですが、かつてあったサポートの例はないようです。Oracle はエージェントを制限 (または廃止) しようとしていますか?

ありがとう。

4

1 に答える 1

0

JVMTI デモは、どこから入手したかによって、JDK インストールにバンドルされている場合とバンドルされていない場合があります。それらは、OpenJDK インストールには存在しません (事実)。ただし、いずれにせよ、 Oracle Download Pageからすべてのケースでデモを入手できます。Mac 用の tarball をダウンロードし、ディレクトリに展開して参照します。

相対フォルダーjdk1.7.0_10/demo/jvmtiには、次のデモがあります。

drwxr-xr-x@ 5 tuoyo スタッフ 170 11 月 29 日 19:30 コンパイル済み
MethodLoad drwxr-xr-x@ 5 tuoyo スタッフ 170 11 月 29 日 19:30 gctest
drwxr-xr-x@ 6 tuoyo スタッフ 204 11 月 29 日 19:30 heapTracker
drwxr- xr-x@ 5 tuoyo スタッフ 170 11 月 29 日 19:30 heapViewer
drwxr-xr-x@ 5 tuoyo スタッフ 170 11 月 29 日 19:30 hprof
drwxr-xr-x@ 6 tuoyo スタッフ 204 11 月 29 日 19:30 minst
drwxr-xr- x@ 6 tuoyo スタッフ 204 11 月 29 日 19:30 mtrace
drwxr-xr-x@ 5 tuoyo スタッフ 170 11 月 29 日 19:30 versionCheck
drwxr-xr-x@ 5 tuoyo スタッフ 170 Nov 29 19:30 ウェイター

個々のデモには、コードとサンプルの makefile を含むソース ZIP ファイルがあります。ビルドをターゲット システムで動作させるには、メイクファイルを微調整する必要があります。

余談ですが、Java Instrumentation APIを参照してください。JVMTI をラップし、より便利なインターフェースを提供します。

于 2013-04-16T03:13:47.910 に答える