问题标签 [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 投票
2 回答
8464 浏览

java - 无法让 -javaagent 正常运行

在实现真实的东西之前,我正在尝试创建一个简单的 Java 代理程序。我无法让它运行。显然我有某种配置或类路径问题。没有多少寻找和尝试导致我出现问题。

如果我运行:

java -cp ./demoAgent.jar -javaagent:./demoAgent.jar com.kingtigerbooks.demoMod.Main

我收到以下错误:

我在我的 Mac 上运行它。带有代理的 jar 文件位于当前目录中。jar 文件的清单如下所示:

如果闻起来像类路径问题,但如您所见,我已将 jar 包含在类路径中。任何帮助,将不胜感激。这是一个非常简单的项目。

0 投票
1 回答
1576 浏览

java - 使用 java 代理时出错

我尝试使用http://www.ibm.com/developerworks/java/library/j-jip/构建分析器

在命令提示符下执行时我的一个 java 应用程序

提供所需的输出,但是当使用 javaagent 分析相同的应用程序时会出现错误

给出以下错误

但是也有一些使用上述 javaagent 方法运行良好的 Swing 应用程序。

0 投票
1 回答
2051 浏览

java - 您如何分析致命的 -javaagent 错误?

我正在尝试使用 java.lang.instrument API 向 java.lang.Object 构造函数添加一个静态方法调用。我知道我的基础知识是正确的,因为如果我调用 System.gc() 方法,它就可以工作。我通过在有和没有仪器的情况下运行 -verbosegc 来验证这一点。如果我将方法调用更改为我自己的包中的静态类/方法,我会收到一个致命错误:

本机方法中的线程“主”致命错误中的异常:-javaagent 的处理失败

工作目录中没有创建转储文件,所以我发现很难找出问题所在。其他信息:

  • 我确保静态方法类在转换之前加载到 premain 方法中
  • 静态方法调用不会导致创建新对象
  • 最后一个加载的类是 InterruptedIOException 虽然我认为这只是一个副作用

提前致谢。

0 投票
3 回答
2244 浏览

rcp - 在 Eclipse RCP 应用程序中使用 classmexer?

我尝试在 Eclipse RCP 应用程序中使用 classmexer,但只收到 IllegalStateException:

在我输入的运行时配置中:

-javaagent:C:/Users/kd/workspace/ClassmexerTester/classmexer.jar

是不是我必须在 plugin.xml 中添加一些东西?

0 投票
0 回答
338 浏览

java - 如何使用 Instrumentation 获取变量值?

我目前正在尝试开发一个 java 代理来获取堆栈跟踪,其中包含被调用方法的名称和该方法传递的值。我有一个简单的应用程序,它创建了一些不同对象的实例并使用它们来测试我的 java 代理。

哦,我也在使用 BCEL。

目前,我能得到的只是所有具有方法和属性的类。

这是java代理的代码:http: //pastebin.com/HFkgswJH

这是我运行时得到的: java -javaagent:instr.jar bookStore.jar :http ://pastebin.com/gsjat72E

那么,如何在调用方法时获得跟踪?例如,如果在我的简单应用程序中我这样做:

Book myBook = new Book("Title", "Author", "Thriller");

myBook.setTitle("这很有趣");

我想获取方法名称“setTitle”和传递的字符串值:“这很有趣!”

有任何想法吗?关联?图书馆?

谢谢!

0 投票
1 回答
2337 浏览

java - 使用 TomEE 并打开 JPA,我收到以下错误:严重:未安装 JAVA 代理

使用 TomEE 和 JPA 时出现以下错误:

openJPA 是否需要 Java 代理才能正常运行?(特别是“openjpa.jdbc.SynchronizeMappings”需要它)

如果是这样,我如何在eclipse中正确安装它?

0 投票
0 回答
164 浏览

java - Weave 构造函数在运行时创建了 Aspects?

是否可以通过构造函数定义切面切入点的属性,然后在创建实例后允许它在运行时编织?还可以在运行时加载/卸载/修改特定方面吗?我计划通过 rmi 公开这方面的一些方法,以允许与客户端应用程序通信。也许这对java代理技术是可能的?

0 投票
4 回答
2160 浏览

playframework - 是否可以使用 javaagent 运行 Play Framework 2.0 服务器?

我希望能够使用 javaagent 运行 Play Framework 2.0 服务器。

网络上的一些资源(请参阅此处此处)表明这可以通过附加-javaagent:/path/to/agent.jar来完成,play run但它似乎对我不起作用。

有什么线索吗?

0 投票
1 回答
1886 浏览

apache - apache 6 tomcat setenv.bat文件输入行太长

当我尝试使用启动批处理文件启动我的 apache 服务器时。我收到此错误消息:

输入行太长
"C:\Tomcat\apache-tomcat-6.0.35\bin\setenv.bat" 此时出乎意料。

我的 setenv.bat 看起来像这样:

提前致谢。

0 投票
1 回答
1319 浏览

reflection - 使用 javassist 添加注释会删除以前的代码

我正在尝试在加载类时向它们添加一些注释。
为此,我编写了一个 java 代理转换器,它在加载时获取类字节码并可以更改它。当我运行以下代码时,新的注释出现在类上,但所有以前的注释和字段/方法都被删除了。

其中 classFileBuffer 是返回给类加载器的字节数组。如果有人知道为什么要删除以前的类注释和代码,那将非常有帮助。
谢谢,
阿夫纳