在Android Studio中确定命中断点处的变量值

时间:2015-02-06 06:05:44

标签: debugging android-studio breakpoints

...
BREAKPOINT `int i = 10 + 12;`
...

当我在Android Studio中为代码添加断点时,AS会按预期运行到我添加断点的行。但是,如果在断点线之后没有代码,我就无法在调试器中看到i解析的内容。我可以通过插入一行虚拟代码来解决这个问题,但必须有一种更简单/更优雅的方法来解决我所缺少的这个问题。

如何避免添加虚拟代码行来查看这些值?

编辑:我使用的是最新版本的Android Studio(1.0.2)

1 个答案:

答案 0 :(得分:2)

可以在您要执行的最后一行之后的行上设置断点。

断点在执行断点下的行之前停止执行。

在上面的示例中,引入了一个新变量(i),该变量目前尚未为解释器所知。为了对这个变量进行初始化,有必要重新执行(执行)代码行。

请参阅下面的示例,其中包含一个包含问题代码行的测试函数:

Hit breakpoint

我在函数{的起始大括号,相关行以及结束大括号}上添加了断点。请注意,第一个断点处有一个X,因为它无效。当前执行点在深蓝色高亮线上(或刚好在执行之前)。请注意,下面的“变量”窗口中不存在变量i

当我跳过(执行)代码行时,活动行现在位于函数}的最后一个括号中,并且变量i现在已初始化并设置:

At final brace in function

所以,如果你有兴趣在给定代码行之后打破,只需将之后的断点放在那行代码中,即使该行是函数的最后一个支撑。

注意:如果有一个退出语句(例如breakreturn等)作为函数中最后执行的代码行,则不会起作用。