当前位置: 首页 > 知识库问答 >
问题:

当用ASM完成字节码检测时,java.lang.reflect.InvocationTargetException将引发。

狄心水
2023-03-14

我想在Java中测试一些方法/类。为此,我编写了一个Java代理,它只检测我选择的几个类。

我使用以下代码来获取加载的类并筛选其中的一些类:

 instrumentation.addTransformer(myTransformer,true);

 Class[] loadedClasses=instrumentation.getAllLoadedClasses();

 Class[] modifiableClasses=ModifiableClasses(loadedClasses,instrumentation);

Class[] filteredClasses=filterClasses(modifiableClasses);

if(instrumentation.isRetransformClassesSupported()){
        System.out.println("retransformation is Supported");
        instrumentation.retransformClasses(filteredClasses);
     }
    null
    Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(Unknown Source)
    at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(Unknown Source)
     Caused by: java.lang.InternalError
    at sun.instrument.InstrumentationImpl.retransformClasses0(Native Method)
    at sun.instrument.InstrumentationImpl.retransformClasses(Unknown Source)
    at my.Agent.Watcher.premain(Watcher.java:88)
    ... 6 more
    FATAL ERROR in native method: processing of -javaagent failed

共有1个答案

平羽
2023-03-14

对不起,伙计们,我的错误,在更精确地看了仪器类后,我发现了错误,我必须解决,如果我想让这工作。admin/mod可以关闭此线程。

 类似资料:
  • 正如文件所说: 公共接口操作码 定义JVM操作码、访问标志和数组类型代码。此接口没有定义所有JVM操作码,因为某些操作码会自动处理。例如,xLOAD和xSTORE操作码会在可能的情况下自动替换为xLOAD_n和xSTORE_n操作码。因此,xLOAD_n和xSTORE_n操作码不会在此接口中定义。LDC也是如此,必要时自动替换为LDC_W或LDC2_W、WIDE、GOTO_W和JSR_W。 问题:

  • 我正在使用ASM(tree和util),并且遇到了一个奇怪的异常 我正在尝试编辑一个。class文件的字节码,以生成一个新的字节码。我有一个for循环,里面有一些if分支,我试图修改它。我在下面发布了两个for循环的代码,最初的一个和想要生成的。 初始 编辑:

  • 问题内容: 我读取了大约1000个文件名,其中一些文件以UTF8编码,而某些文件为CP1252。 我想将它们全部解码为Unicode,以便在脚本中进行进一步处理。有没有一种方法可以使源编码正确解码为Unicode? 例: 问题答案: 如果您的文件位于和中,则有一种简单的方法。 否则,有一个字符集检测库。 Python-检测字符集并转换为utf-8 https://pypi.python.org/p

  • 问题内容: 在我的应用程序中,我尝试为用户打印出凭证页面,如下所示: “ ”是我的页面中的,用于存储有关凭证的信息。 它有效,并且打印页面弹出。但是,我希望用户一旦在浏览器的弹出式打印对话框中单击“ ”或“ ”,便可以升级该应用程序。 例如,我想在弹出窗口关闭后将用户重定向到另一个页面: 如何确定何时关闭弹出的打印窗口或打印完成? 问题答案: 在FireFox和Internet Explorer中

  • 本文向大家介绍java字节码框架ASM的深入学习,包括了java字节码框架ASM的深入学习的使用技巧和注意事项,需要的朋友参考一下 一、什么是ASM ASM是一个java字节码操纵框架,它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。Java class 被存储在严格格式定义的 .class文件里,这些

  • 问题内容: 我正在使用Hibernate 4.2并构建时间字节码工具来解决出现在关系上的懒惰问题和(https://developer.jboss.org/wiki/SomeExplanationsOnLazyLoadingone- to-one ) 您知道之间有什么区别吗? Hibernate字节码检测工具:http : //docs.jboss.org/hibernate/orm/4.3/ma