eclipse中的debug和指令重排序

Java代码经过优化会有指令重排序,那么eclipse的debug按照代码从上到下的顺序执行又是如何做到的

4个回答

debug的程序都是不做优化的,编译的时候使用的是javac -g,除了优化之外,还有assert只在debug的时候才会执行。其实这不是eclipse这样,其他ide也一样

eagleyan
Coursera 回复u011564172: 话说编译器的-g是干什么的,c有这个参数,java也有,想想也就明白了吧
接近 6 年之前 回复
eagleyan
Coursera 回复u011564172: 我不记得什么书说过,但是这是基本原理。也许读书时候老师就说过,或者debug的书里有这样的论述。
接近 6 年之前 回复
u011564172
Mr_JieLQ 有道理,还有个问题,你所说是从哪些网站看到的,还是哪本书说明的,因为我在网上没有找到这方面的说明
接近 6 年之前 回复

debug按照代码从上到下的顺序执行,是因为debug模式下的代码是未经过优化的。
你不设置断点,debug和Release运行对比一下。

testcs_dn
微wx笑 回复u011564172: http://blog.jobbole.com/23632/
接近 6 年之前 回复
u011564172
Mr_JieLQ 有没有哪本书,或者哪个网站的文章说了这个问题,你又是如何知道的,这是我更关心的,毕竟口说无凭
接近 6 年之前 回复

问题没看懂问题没看懂

u011564172
Mr_JieLQ 你是不懂指令重排序?java代码在jvm执行顺序和实际编写顺序不完全一致,可是Eclipse debug是按照编写顺序一行一行执行的
接近 6 年之前 回复
u011564172
Mr_JieLQ 这篇文章讲的和我问的不想关,指令无序,debug为什么有序,这才是我的问题
接近 6 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问