在Android Studio中进行调试…行了吗?
作者:互联网
一段时间以来一直困扰着我,我想知道我是不是记错了事情的工作方式还是我的IDE设置有问题.
说我有办法
public void normalDebuggerBehavior(String x) {
(BP) int y = 12;
int z = 10;
}
如果我在方法(BP)的第一行上设置了一个断点,并且调试器在该断点处停止,我是否应该能够看到传递的参数x的值而无需进入下一行(int z = 10)或通过右键单击->计算表达式或将其添加到监视列表?我认为这将在目前范围内.
如果我无法做到这一点,并且应该做到,那会导致什么呢?
屏幕截图:
进入下一行将供应商纳入范围.是的,这是一个“新”编译.
解决方法:
调试器在字节码上运行,而不在Java源代码上运行. Java源代码与字节码之间的映射并不总是一对一的.
当您在方法的第一行上放置一个断点时,该断点将被放置在字节码中的方法入口点上.实际读入方法参数的字节码尚未执行.您可以通过查看字节码反汇编并在带有参数的方法开头注意加载指令来观察此情况.
标签:android-studio,intellij-idea,android-debug,android 来源: https://codeday.me/bug/20191120/2046881.html