bytecode相关内容

ilasm / ildasm的Java字节码等效项

对于CIL / MSIL,我可以在文本编辑器中编写代码,并使用ilasm / ildasm进行编译/反编译。 我可以使用Reflector查看生成的CIL 在Java世界中,javap -c显示了反汇编的字节码。 如何编译Java字节码? (即,相当于ilasm / ildasm的Java)。 是否有一个支持Java字节码的IDE? IDE是否支持调试,即单步/断点等 ..
发布时间:2020-09-25 07:19:52 Java开发

如何查看php字节码文件

我这样做是出于学习目的。 我浏览过很多文章,这些文章首先将php的源代码转换为字节码,但是我找不到找到字节码格式的方法,它看起来像什么? 在Java和C语言中,有很多查看字节码文件的方法。但无法在php中找到任何文章来查看转换后的字节码。 解决方案 要将PHP代码转换为操作码列表,您可以使用 vld ,即“ Vulcan逻辑转储程序” ”(在 GitHub 和 PECL )。 ..
发布时间:2020-09-25 07:19:48 PHP

谁调用类初始化方法< clinit>什么时候?

我知道 new , dup , invokespecial 和 astore 字节码模式将调用实例初始化器方法 当某人从Java语言角度实例化Java类时,但我从不弄清楚谁调用了特殊的。 方法以及什么时候发生? 我的猜测是 在之前 方法被调用。任何人都可以给我一些信息来证明这一点吗?这是否记录在JVM规范或Java语言规范中? ..
发布时间:2020-09-25 07:19:37 Java开发

如何在python中创建代码对象?

我想创建一个具有类型type.CodeType()的新代码对象。 几乎没有关于此的文档,并且现有的文档说“不虚心”。 告诉我我需要什么,并给我一些有关传递给type.CodeType的每个参数的信息。 可能发布一个示例。 注意: 在正常情况下,您只需要内置函数compile() 仅在需要时才使用types.CodeType()创建无法通过编写常规源代码而获得的新 ..
发布时间:2020-09-25 07:19:23 Python

如何读取python字节码?

我在理解Python的字节码及其 dis 模块时遇到很多困难。 import dis def func(): x = 1 dis.dis(func) 上面的代码在解释器中键入时会产生以下输出: 0 LOAD_CONST 1(1) 3 STORE_FAST 0(x) 6 LOAD_CONST 0(无) 9 RETURN_VALUE ..
发布时间:2020-09-25 07:19:19 Python

从内存中获取Java类字节码(经过多次转换)

我正在为Minecraft开发coremod,并在加载许多类时对其进行转换。 但是,问题是,有多个coremod也会转换我自己的相同类,并且出现了一些我想研究的奇怪行为。 然后是问题,在多次转换后如何检查字节码? 对其进行转换时,我只得到了一个字节[]输入,并通过ASM运行,然后返回修改后的字节码。类加载后,将类字节码保存到.class文件中,然后从那里进行检查。但是我似乎找不到任何方法 ..
发布时间:2020-09-25 07:18:15 Java开发

有没有办法检查函数输出是否分配给Python中的变量?

在Python中,我想编写一个将其结果漂亮地打印到控制台的函数,如果该函数本身被调用(主要用于交互使用或调试)。出于这个问题的目的,假设它检查某物的状态。如果我只是打电话给 check_status() 我想看到类似的东西: 漂亮的打印机状态检查0.02v 注意:这完全不是为巨型机器人编写的。 ================================= ..
发布时间:2020-09-25 07:18:10 Python

使用静态字节码分析来确定通过给定方法的所有可能路径是否是尝试解决停止问题的一种方法?

是否可以通过读取给定方法的字节码来确定所有可能的执行路径,或者这等同于尝试解决暂停问题?如果不能将其简化为停工问题,那么我可以走静态分析多远而又不试图解决停工问题? 相关问题:“ ;在给定的二进制文件中查找所有代码等同于停止问题。真的吗? 解决方案 是的,这很容易解决停止问题。考虑以下if语句: 如果(TuringMachine(x))then goto fred; OK ..
发布时间:2020-09-25 07:17:05 其他开发

Python如何读取和解释源文件?

假设我运行一个Python(2.7,尽管我不确定这样做是否有帮助)脚本。我选择终止,或以某种方式切换回我的编辑环境,而不是终止脚本。然后,我可以修改脚本并将其保存,但是在仍在运行的脚本中这没有任何改变。 Python是否在启动时将所有源文件完全加载到内存中?我的印象是这是Python解释器的工作方式,但这与我对Python解释器的其他观点相矛盾:我听说 .pyc 文件用作字节码。适用于Pyt ..
发布时间:2020-09-25 07:16:03 Python

x = x + 1和x ++在实现上的差异

我的教授最近说,尽管 x = x + 1 和 x ++ 显然会给出相同的结果,它们在JVM中的实现方式有所不同。这是什么意思?编译器不是这样的:嘿,我看到 x ++ ,所以我将其切换为 x = x + 1 并进行 我怀疑在效率方面是否存在差异,但是如果组装在这些情况下会有所不同,我会感到惊讶... 解决方案 我的教授最近说,尽管x = x + 1和x ++显然会给出相同的结果 ..
发布时间:2020-09-25 07:15:59 Java开发

Python不使用过时的.pyc解释已更改的文件

昨天使用Google App Engine在python中进行开发时,它停止运行脚本的当前版本。 即使执行.py源已更改,它似乎也不会运行最新版本,而是运行先前预先编译的.pyc。 错误消息实际上引用了来自最新来源的正确行。除非该行的位置发生了变化,否则它将引用以前发生错误的位置处的行。 删除.pyc文件会使它们从以下位置重新创建当前版本。 如何找到问题的根本原因? 解决 ..
发布时间:2020-09-25 07:15:58 Python

python字节码兼容性

发行版之间python字节码在何种程度上兼容。 我不是说从python2.x到python3.x,而是说...从Python33到python34? 我不是为了“安全性”而追求它我使用Cython将程序的大部分转换为C,但是我确实使用pyc文件作为存储一些常量的方法,而pyc是首选,因为它提供了不容易被非正式更改的文件格式。如果有人要更改某些内容,可以通过内部过程 这样的pyc文件仅 ..
发布时间:2020-09-25 07:14:56 Python

jvm字节码中的stackmap表是什么?

我正在学习用于生成字节码的ASM库。在某个时候,我使用了错误的局部变量类型犯了一些错误,并得到了一个错误: 线程“ main” java.lang中的异常.VerifyError:错误的局部变量类型 异常详细信息: 位置: Loops.start()V @ 56:aload_1 原因: 类型top(当前帧,无法将locals [1])分配给引用类型 Stackmap表: fu ..
发布时间:2020-09-25 07:14:47 Java开发

python3.2的pycompile

我正在运行mint 13,并使用 apt-get 软件包管理系统安装了python 3.2。我还同时安装了python 2.7和3.2。pycompile似乎是打包python 2.7代码并抛出python 3.2代码异常的代码。 尝试安装一些软件包,但无法为python 3.2找到pycompile。 解决方案 py_compile 是一个stdlib模块,可以在给定Python源 ..
发布时间:2020-09-25 07:13:45 Python

JVM中操作数堆栈的作用是什么?

JVM运行时数据区为每个正在执行的方法提供单独的堆栈。它包含操作数堆栈和局部变量。每次加载变量时,需要 const 到操作数堆栈,然后 store 到局部变量。为什么不直接操作局部变量表,并进行一些看似重复的工作? 解决方案 具有直接操作数的指令集必须进行编码每个指令中的操作数。相比之下,对于使用操作数堆栈的指令集,操作数是隐式的。 在查看小的琐碎运算(如加载a)时,隐式参数的优势并 ..
发布时间:2020-09-25 07:13:41 Java开发

编写检测器以搜索“ System.out.println”的使用。使用Findbugs

我正在尝试编写一个错误检测器,以使用Findbugs查找方法调用“ System.out.println”的实例。 我知道字节码中的“ System.out.println”被编译为对GETSTATIC的调用,将“ System.out”压入堆栈。调用INVOKEVIRTUAL会将“ System.out”弹出堆栈并调用该方法。 我准备了一些代码(如下所示),可以找到正确的GETSTA ..
发布时间:2020-09-25 07:13:38 Java开发