我正在远程调试Java应用程序,调试器向我显示了与预期不同的信息。源文件链接正确。有没有可能,jvm优化可以改变指令的顺序?
发布于 2013-07-10 16:34:22
这要视情况而定。
如果JVM (特别是Hotspot或JIT编译器)可以确定结果是相同的,那么它可能会更改指令。
对于Oracle JVM,您可以提供选项-Xint来禁用JIT和Hotspot,并且可以确保执行的代码与编写的代码相同。
发布于 2013-07-10 16:55:24
例如,当我远程调试时,当我对我的代码进行更改时,我遇到了不一致的问题,这些更改还没有推送到服务器。因此,当我在服务器上调试旧版本时,调试器有时会指向代码中的行,这些行要么是空的,要么是不同的方法,因为它仍然引用以前相关的行号。当我同步服务器和本地代码库时,一切都恢复正常了。
https://stackoverflow.com/questions/17565808
复制相似问题