android studio 调试技巧(简直太好用)
android studio 调试技巧(简直太好用)
说到android studio的调试,很多人可能会说,这有什么可讲的不就是一个断点调试么,刚开始我也是这么认为的,直到我了解之后,才发现,调试原来可以玩的这么牛。下面我分别一一做介绍。
条件断点(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
转载请注明出处
www.gaotenglife.com
http://www.cnblogs.com/gaoteng/p/5711314.html
android studio 调试技巧(简直太好用)的更多相关文章
- 【转】你所不知道的Android Studio调试技巧
这篇写Android studio debug技巧个人觉得写得不错,转自:http://www.jianshu.com/p/011eb88f4e0d# Android Studio目前已经成为开发An ...
- 你所不知道的Android Studio调试技巧
转载:http://www.jianshu.com/p/011eb88f4e0d Android Studio目前已经成为开发Android的主要工具,用熟了可谓相当顺手.作为开发者,调试并发现bug ...
- Android开发工具——Android Studio调试技巧
.调试的两种方式 到目前,调试的相关基础我们已经介绍完了,但是不少同学对Android Studio中这两个按钮感到困惑:Debug和Attach process. 这里我们就简单介绍一下这两者的区别 ...
- 使用Android Studio调试UiAutomator过程中遇到的问题
声明: 这里纪录了个人学习和使用Android Studio调试UiAutomator过程中遇到遇到的问题,不定时进行更新,欢迎一起交流学习 1.Excution faild for task ‘:a ...
- Android Studio调试功能使用总结【转】
Android Studio调试功能使用总结[转] 这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此. 先编译好要调试的程序. 1.设置断点 选定要设置断点的代码 ...
- Android Studio使用技巧系列教程(二)
尊重劳动成果,转载请注明出处:http://blog.csdn.net/growth58/article/details/46764575 关注新浪微博:@于卫国 邮箱:yuweiguocn@gmai ...
- Android Studio调试功能使用总结---转
Android Studio调试功能使用总结[转] 这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此. 先编译好要调试的程序. 1.设置断点 选定要设置断点的代码 ...
- Visual Studio 调试技巧[Command Window & Immediate Window ](Tips)
Visual Studio 调试技巧[Command Window & Immediate Window ](Tips) 1. immediate window 定义的一些 alias (// ...
- 【转】Android Eclipse调试技巧
原文地址:https://www.cnblogs.com/tianchunming/p/5423942.html Android Eclipse调试技巧 在Android 应用程序开发中我们经常需 ...
随机推荐
- Java实例---俄罗斯方块
代码分析 定义格子 package com.ftl.tetris; /** * 定义格子 */ import java.awt.image.BufferedImage; public class Ce ...
- 乘风破浪:LeetCode真题_020_Valid Parentheses
乘风破浪:LeetCode真题_020_Valid Parentheses 一.前言 下面开始堆栈方面的问题了,堆栈的操作基本上有压栈,出栈,判断栈空等等,虽然很简单,但是非常有意义. 二.Valid ...
- Wannafly挑战赛18 E 极差(线段树、单调栈)
Wannafly挑战赛18 E 极差 题意 给出三个长度为n的正整数序列,一个区间[L,R]的价值定义为:三个序列中,这个区间的极差(最大值与最小值之差)的乘积. 求所有区间的价值之和.答案对\(2^ ...
- solrCloud相关的管理命令
创建新集群(创建一个索引库) http://192.168.72.141:8080/solr/admin/collections?action=CREATE&name=collection2& ...
- cocos2d-x3.0 后配置信息重置
原文地址:http://blog.csdn.net/qqmcy/article/details/37722689 近期遇到这种一个问题,cocos设置setup.py中ndk.sdk.ant时设置的路 ...
- python中执行shell命令
查看输出结果 import os output = os.popen('cat 6018_gap_5_predict/solusion2/solusion2_0-1.txt | wc -l') pri ...
- gluoncv voc_detection
https://github.com/zhreshold/gluon-cv/commit/73b3986aaa2e0d0e6f3f428c12072e3a9d29905e gluoncv可能版本还没更 ...
- P2059 [JLOI2013]卡牌游戏
题目描述 N个人坐成一圈玩游戏.一开始我们把所有玩家按顺时针从1到N编号.首先第一回合是玩家1作为庄家.每个回合庄家都会随机(即按相等的概率)从卡牌堆里选择一张卡片,假设卡片上的数字为X,则庄家首先把 ...
- Kubernetes 学习2 k8s基础概念
一.架构描述 1.基本架构 2.pod ,有两类 a.自主式pod 自我管理的,创建之后,任然是需要提交给API Server,API Server接受之后然后由调度器调度到指定的 node节点,由n ...
- SpringBoot实战(六)之使用LDAP验证用户
关于ubuntu16.04服务器安装配置LDAP参考链接为:https://www.howtoing.com/how-to-install-and-configure-openldap-and-php ...