问题标签 [bcel]
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.
java - java - 如何在方法中检索任何内容
据我所知,java 无法检索方法内部的任何内容。所以我在 javac 中使用选项 -g 或 -g:vars。
例如:
所以,我使用 BCEL 来检索局部变量。
但是如果变量没有像String b
. 此外,我想跟踪构造函数调用,如或new Thread()
以及new File()
调用静态方法,并在内部初始化,以及内部。所以我想在输出中看到, , ,和.JFileChooser
new File
JOptionPane
Thread
String b
JOptionPane
ImageIO
File
我应该怎么做才能使它们打印在我的程序中?
java - java - 如何消除原始类型并获得未使用的局部变量
我有一个简单的示例代码:
基本上我必须使用 BCEL 来访问字节码并达到我的目标。所以,我尝试创建简单的代码:
结果 :
如何消除像a
asint
和boo
as这样检索到的原始类型boolean
,以及如何检索未使用的局部变量 like String b
?
-谢谢-
java - 使用 BCEL 的 Java 类修改顺序
java库(在我的例子中是bcel)什么时候修改其他代码?
这会在类加载器的引导进程加载相关类之前或之后发生吗?
bytecode - Java 字节码操作库
我开始从事一个项目,其中一项任务是我需要分析源代码以收集有关类及其方法的信息。更具体地说,对于每个方法,我需要知道它在整个方法体中使用了哪些内部属性和外部对象(引用)。
我与我的主管讨论过,他们认为字节码操作库是可行的方法。我已经看过 BCEL、ASM 和 Javassist,但我不确定我需要使用哪一个。它们是否都提供对方法主体的访问,我可以在其中查看所有说明并获取我需要的信息?
任何建议将不胜感激。谢谢!
java - 如何从普通类(java.lang.class )对象中获取 javaclass(org.apache.bcel.classfile.JavaClass)
我有一个 .class 文件,可以将类加载到类对象(`java lang`)。我需要将类对象转换为 BCEL 中间 Java 类 ( org.apache.bcel.classfile.JavaClass
) 对象。我该怎么做呢?
java - 在创建同一个类的实例时获取一个类的noClassDefFoundError。为什么会这样?
我正在尝试创建一个 java .class 文件的实例(java 代码的字节码)。但是当我这样做时,我收到如下错误:-
我正在尝试创建 SamplePro 的一个实例。我已将 SamplePro 的 .class 文件附加到我试图在其中创建其实例的项目的类库中。
java - Java/BCEL 堆栈高度不一致
我正在处理我的作业,我应该在调用 getfield 操作时使用 BCEL 修改类文件以打印某些信息。
这包括在引用字段的值大于 30 时打印字符串。
我遇到的问题是创建 if 条件。
目前我所拥有的是
第一行复制了 getfield 操作访问的值。
问题是对 IFGT() 的调用。执行后我得到
我已经尝试打印 ISUB 结果,它与预期的一样,用 POP 替换 IFGT 可以使程序正确执行,这让我相信最后一行是问题所在。
生成的字节码
我试过用谷歌搜索答案,但不幸的是我什么也没找到。
java - BCEL中IFEQ和RETURN插入指令的语法是什么?
给定以下方法:
我想添加一个 if 指令,returns true
仅当名称等于 bcel 时,即:
我知道我应该使用IFEQ
,IRETURN
和ICONST_0
.. 但我不知道确切的语法。
这是我试图完成的方法的一部分:
请帮忙。
附加信息:
第一个代码的字节码:
第二个代码的 BYTECODE:
bcel - 从使用另一个 java 类 (BCEL) 的 java 类生成代码
我正在尝试使用 ByteCode Engineering Library (by Apache) 从另一个类生成(和修改)输出类的代码。
所以我试图从 ClassName 为每个方法调用 printSomething。问题是我不知道如何将字符串参数实际传递给方法 printSomething
java - BCel即时修补方法不起作用
我正在尝试使用 BCEL 将回调插入到 Java 方法中,但从未调用过回调。程序运行就好像它根本没有检测到一样。
我所做的精简版:
打印出来的只有:
我所期待的是:
我究竟做错了什么?