允许轻松打印字节码指令*包括*参数的库
我正在寻找一个库,它可以轻松地让我查看方法的给定字节码。示例: ALOAD 0 INVOKEVIRTUAL ns/c.m ()I IRETURN 我已经尝试了两种方法: ASM :我实际…
格式化 TraceClassVisitor 的输出
假设我想用 asm 库漂亮地打印一个方法的字节码。 public int get777() { return 777; } 通过 TraceClassVisitor 将看起来像 // access flags 0x1 publ…
堆叠几个 ASM 字节码访问者的简单方法?
我目前正在实现一些代码,对于类的每个方法,这些代码应该在 .class 文件上运行几个访问者,以检测其字节码。目前,我刚刚实现了一个 MethodRenamerVi…
限定方法调用是否会降低 Java 的性能?
我猜测以下两个函数会编译为完全相同的字节码,但我想问这个问题。在不必要的地方限定方法调用是否会降低性能? 例如: package com.my; import andro…
使用 try-catch-finally 等效的 Java 7 try-with-resources 字节码是什么?
我试图了解新的 try-with-resources 语句 的工作原理是使用常规的 try-catch-finally 语句重新创建它。给定使用 Java 7 try-with-resources 的以下测…
对源代码、字节代码、机器代码等执行静态分析的权衡是什么?
在不同级别的代码上执行静态分析有哪些不同的权衡?例如,对于 Java,为什么有人会对 Java 源代码与 Jasmin 代码与 Java 字节码?该选择是否限制或扩…
grep 用于特定的 jvm 字节码模式
我正在开发一个遗留的 java 项目,该项目存在许多设计问题。因此,代码的某些部分不会按预期运行。考虑下面的代码: public enum Parent{ PARENT1(CHI…
有高级字节码编辑器吗?
假设我在 Scala 中有以下内容 object Foo { var functions: List[String => String] = Nil // can be any type to any type. def addFunc(f:String =>…
如何判断局部变量是否是“final”?来自 Java 字节码? (与BCEL相关)
Java 字节码中诸如局部变量是否为“final”之类的信息存储在哪里?我知道对于字段(全局变量)和方法,这些可以在访问标志位中找到,但似乎无法在局部…
编写检测器来搜索“System.out.println”的使用使用 Findbugs
我正在尝试编写一个错误检测器来使用 Findbugs 查找方法调用“System.out.println”的实例。 我知道字节码中的“System.out.println”被编译为对 GETS…
如何将Python 2.5字节码重新编译为2.7?
如何使用 Python 2.7 重新编译 Python 2.5 生成的一些 .pyc 文件? 我没有源文件,无法获取它。 我正在寻找免费的解决方案。…