要进行调试,首先构建app的时候必须选择是Debug模式,而不能是Release模式。
接下来的内容转载自:
http://www.cnblogs.com/gaoteng/p/5711314.html
条件断点(Conditional Breakpoints)
这个调试模式是我最喜欢的,简直不能再方便了,以前遇到在循环里面打断点,需要看某个条件下的值,我只能一遍遍点击,直到满足条件。
那么这个条件断点改怎么用呢,在你的断点上点击右键,就会弹出一个选择对话框,在里面的condition框里面填写上你所需要中断的条件即可,程序就会在满足你的条件下才会断点停下。下面放张动态图,一看就明白,之后的几个技巧也都会附一张动态图来形象的展示。
快捷键
- 点击鼠标右键
日志断点(Logging Breakpoints)
这个模式也相当有用,之前调试程序的时候,如果需要输出一些变量的值,总是需要在代码中写Log,然后重新运行程序,这有才能看到新的输出结果,现在有了日志断点这个神器,就不需要了。下面介绍如何操作,首先还是在断点上点击鼠标右键,把suspend置为非选中状态,然后在下面的Log evaluated Expression填写上你需要输出的信息
快捷键
- 点击鼠标右键,选择suspend
临时断点(Temporary Breakpoints)
这种断点在你第一次断点停下之后,就会被移除,也就是在调试过程中只会断掉一次
快捷键
-
鼠标:ALT+鼠标左键 在断点区点击
-
mac:Cmd+Alt+Shift+F8
-
Windows/Linux: Ctrl+Alt+Shift+F8
失效断点(Disable Breakpoints)
这种断点适用于你不想删除这个断点,但是又不想让这个断点执行,所以暂时让他失效掉,这个功能,感觉不会很常用,毕竟创建一个断点也就是点击一下的事。
快捷键
- 鼠标:ALT+鼠标左键 在断点上点击
(附着调试)Attach Debugger
这个在不知道之前,我调试程序总是需要点击调试模式,然后让程序重新运行,然后会忍受相当慢的启动过程,直到我遇到这个模式。
在这个模式下,你不需要重启app,直接点击,就可以调试,而且在遇到别人在测试你的app,这时候遇到问题,你只需要插在你的电脑上,开启这个,就可以直接断点调试了,非常方便。
快捷键
- 鼠标:点击build->Attach to Android Process 选择app所在的进程
计算表达式(Evaluate Expression)
这个功能用来在调试过程中查看变量的值,或者可以计算任何复杂自定义表达式的。这个功能在调试的时候,也非常有用,比如以前我想得到一个变量的值,我总需要通过底部variable中的this指针,然后找到成员变量,而有了这个之后,你可以随意观察变量,同时做一些表达式的计算
快捷键
- Alt+F8
观察变量(Inspect Variable)
这个功能直接可以观察某个变量的值,而不需要打开上面Evaluate Expression这个的对话框,更加快捷
快捷键
- Alt+鼠标左键 在变量上面点击
标记object(Mark Object)
在调试的过程中,这个方式允许你给某个特定的object打标签,以便后面的断点里面可以进行识别这个变量
快捷键
-
鼠标右键,选择mark object
-
MAC:F3
-
windows/linux:F11