javaagents相关内容

使用Byte Buddy的SLF4j记录器

我尝试检测名为ThreadPoolExecutor的Java类,并希望使用slf4j记录器获取线程的详细信息,但收到以下错误 Exception in thread "pool-2-thread-2" Exception in thread "pool-2-thread-1" java.lang.NoClassDefFoundError: com/github/shehanperera/th ..
发布时间:2022-05-14 12:16:07 Java开发

Gradle应用程序插件:如何使用-javaagent选项运行JVM应用程序?

我使用Gradle(v1.10)中的应用程序插件打包和运行我的应用程序。 所以,现在我需要使用方面(AspectJ),而不想使用AspectJ编译器(AJC)。 是否可以调整Gradle应用程序运行脚本,以便我的应用程序可以在加载时编织运行?类似于提供JVM选项: -javaagent:_Path_to_AspectJ_wever.jar 推荐答案 是这样做的: ..
发布时间:2022-05-08 23:36:36 其他开发

C++跳转到其他方法执行

在我的 C++ JNI-Agent 项目中,我正在实现一个函数,该函数将被赋予可变数量的参数并将执行传递给另一个函数: //原始函数的地址公共静态无效* originalfunc;void* 拦截器(JNIEnv *env, jclass clazz, ...){//函数地址加 4 跳过“push ebp/mov ebp esp"asm volatile("jmp *%0;"::"r" (ori ..
发布时间:2022-01-22 12:56:07 C/C++开发

如何在不停止 JVM 的情况下将 Javaagent 添加到 JVM?

我希望在不停止应用程序的情况下分析 Java 应用程序.我可以在应用程序运行时以某种方式添加 Javaagent 吗? 解决方案 根据java.lang.instrument 包. 虚拟机启动后启动代理 一个实现可能会提供一种机制来在某个时候启动代理虚拟机启动后.这关于如何启动的详细信息是特定于实现的,但通常应用程序已经开始了,它的主要方法有已经被调用了.在这种情况下一个实现支 ..
发布时间:2022-01-16 12:00:47 Java开发

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

我希望能够使用 javaagent 运行 Play Framework 2.0 服务器. 网络上的一些资源(请参阅此处和这里 )表明这可以只需将 -javaagent:/path/to/agent.jar 附加到 play run 即可完成,但它似乎对我不起作用. 有什么线索吗? 解决方案 在不修改脚本的情况下,没有干净的方法可以将 -javaagent 参数传递给 play ..
发布时间:2022-01-02 22:03:53 其他开发

使用 Instrumentation 记录未处理的异常

我试图使用检测来调试 Java 应用程序.当前系统的问题是 几乎没有写任何日志语句 糟糕的异常处理 这使得追踪功能损坏的根本原因变得非常困难. 为了处理这种情况,我使用Instrumentation API 开发了工具,java 代理,并且我能够注入日志语句并解决了一半的问题. 但下一个问题是记录异常.我想扩展我的工具记录在应用程序执行期间抛出的每个异常.我尝试使用 ja ..
发布时间:2021-11-29 09:19:48 Java开发

如何在不重启 jvm 的情况下启动 aspectj loadtime weaver 代理/如何在代码中启动 loadtime weaver?

有没有办法在应用程序运行期间启动AspectJ loadtime weaver?意味着不重新启动JVM并添加 -javaagent:... ? 我尝试了https://stackoverflow.com/a/35775792/3880225但没有成功. 解决方案 是的,你可以这样做,我自己为 AspectJ 实现了这个功能,它从 1.8.7 版开始就包含在内,请参阅 发行说明 示例. ..
发布时间:2021-11-11 04:42:36 其他开发

Javassist的CtMethod.insertAt(line,src)仪器代码在错误的字节码位置

我的目标是在每个基本代码块的开头插入一些检测代码.使用Javaassist的ControlFlow.Block和CtMethod.insertAt()似乎是一个相当简单的任务.到目前为止,这是相关的代码块(位于转换函数中): ControlFlow flow =新的ControlFlow(m);//m是当前正在检测的CtMethodBlock [] blockArray = flow.basi ..
发布时间:2021-05-16 19:10:57 Java开发

不使用-javaagent初始化jmockit

我使用jmockit和junit编写模块的单元测试,并在STB中运行它.我使用jmockit-1.7,因为机顶盒只有Java 5. 运行单元测试时出现此错误: java.lang.IllegalStateException:Jmockit尚未初始化.使用-javaagent:jmockit.jar命令行选项检查您的Java 5 VM是否已启动 但是我的机顶盒使用攻城Java VM,因此 ..
发布时间:2021-05-16 18:33:10 服务器开发

找不到代理JAR或没有代理类属性

//已修复:这不是由于代码而引起的错误.这是因为有IDE. 我刚刚尝试为一款名为《我的世界》的游戏打针.但是我有一个问题.它无法加载代理. 以下是异常:线程"main"中的异常com.sun.tools.attach.AgentLoadException:找不到代理JAR或没有代理类属性在sun.tools.attach.HotSpotVirtualMachine.loadAgent( ..
发布时间:2021-04-23 18:31:21 Java开发

使用byte-buddy-agent修改java.util类

是否可以使用字节伙伴在java.util类中添加字段? 我试图在java.util.concurrent.FutureTask中添加一个字段,并拦截构造函数和一个任意方法来设置和获取字段值.简而言之,我正在尝试向FutureTask添加一个字段,以便即使它们在线程池中运行,也可以将某些值从父级传递给子线程.无法在FutureTask中添加字段? FutureTaskTransofrme ..
发布时间:2021-04-17 18:31:12 Java开发

指定Java代理的类路径

对于上下文,我正在开发一个名为Randoop的工具.我需要做的是能够在运行时使用Java代理替换某些方法调用.具体来说,我想将对Random()的调用替换为Random(0). 我具有以下目录结构: test_randoop/ randoop.jar replacecall.jar replacement_file.txt ClassWithRandom ..
发布时间:2021-02-14 19:45:23 Java开发

C ++跳转到其他方法执行

在我的C ++ JNI-Agent项目中,我正在实现一个函数,该函数将被赋予可变数量的参数,并将执行传递给另一个函数: // address of theOriginalFunction public static void* originalfunc; void* interceptor(JNIEnv *env, jclass clazz, ...){ // add 4 to ..
发布时间:2021-02-10 20:17:48 C/C++开发

如何创建jvmti代理以查看所有已加载的类,对象及其字段详细信息

我想编写一个Java代理来检测某些应用程序.我对获取由应用程序实例化的对象(即它们的字段)的详细信息感兴趣.我还想在运行时捕获对任何这些对象/它们的字段的任何读写访问权限. 能否请您指导我编写代理,并让我知道我应该探索哪些类和方法.我只知道java.lang.instrument类.但是我在那里找不到任何可以捕捉到这些事件的东西. 我也接受您认为可以帮助我的其他Java工具技术. ..
发布时间:2020-11-29 06:28:34 Java开发

如何使用工具打印出Java运行时中调用的所有方法?

我想打印出在运行时调用的所有方法.应该按调用顺序将它们打印出来,如果多次调用,则应该多次打印. 这可用于反向工程-查看按下按钮或执行特定操作时要调用的功能. 我想为此使用Java代理和工具. 解决方案 这可以使用Java代理和检测库来完成. Java代理-可以使单独的代码在代码主要部分之前运行. 仪器-在程序加载期间更改源代码. 使其生效的代码 (取自 ..

如何解决java结果1错误

如何在使用JVMTI代理的情况下解决“ java结果1”的1种特殊风味? 解决方案 我在我的环境中解决了一个问题: 服务器通过ANT脚本运行,并且jvm配置了代理(以下属性名称“ agentfile”与一个值相关联)指向代理库) 现在,我会收到错误信息'java result每当服务器运行时都为1',没有任何实际错误的指示。 这是调试此问题的方式。 1)代理已关闭(即, ..
发布时间:2020-10-02 03:49:50 其他开发