android调试
要进行调试,首先构建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
android调试的更多相关文章
- 在 MAC OS X 安装 ADB (Android调试桥)
什么是 ADB? Android调试桥( adb )是一个开发工具,帮助安卓设备和个人计算机之间的通信. 这种通信大多是在USB电缆下进行,但是也支持Wi-Fi连接. adb 还可被用来与电脑上运行的 ...
- 2.[WP Developer体验Andriod开发]Andriod Studio结合Visual Studio Emulator for Android调试Android App
0. 工欲善其事必先利其器 上一篇博客对比了一下Android和WinPhnoe的布局容器,后续篇章重点放在Android的开发上了. 说到开发就绕不开调试程序,调试Android App我们有2种选 ...
- Android 开发笔记 “android调试遇到ADB server didn't ACK以及顽固的sjk_daemon进程 ”
资源来源:http://blog.csdn.net/wangdong20/article/details/20839533 做Android调试的时候经常会遇到,程序写好了,准备接上手机调试,可不一会 ...
- [Android学习笔记]Android调试
Eclipse Debug 快捷键: [Ctrl + Shift + B]: 添加/取消断点 [F5]:进入方法中 [F6]:单步执行 [F7]:执行完毕此方法 [F8]:继续执行,直接跳到下一个断点 ...
- Android调试优化篇
为了开发出商业级的应用程序,大规模的測试是不可避免的,同一时候为了提高应用程序的执行速度,须要进行必要的优化.在Android中.提供了丰富的调试与优化工具供开发者应用,主要包含模拟器和目标端等两种场 ...
- 2.[Andriod]Andriod Studio结合Visual Studio Emulator for Android调试Android App
0. 工欲善其事必先利其器 上一篇博客对比了一下Android和WinPhnoe的布局容器,后续篇章重点放在Android的开发上了. 说到开发就绕不开调试程序,调试Android App我们有2种选 ...
- Stetho简化Android调试(二)
Stetho简化Android调试(一) 一文中讲述了如何使用Stetho结合Chrome远程调试Android App. Stetho给我们调试带来很大的便利,效率显著提升的同时也产生一个问题:如果 ...
- cocos2d-js 写日志log 查看日志log Android调试查看log
1 输出日志的方式,当然是cc.log了 2 如何查看日志? a)如果小程序可以先在浏览器上跑,例如用chrome,在控制台就可以看到输出的log: b)如果在真机上调试, ...
- Android调试桥-Android Debug Birdge详解
原文:http://android.eoe.cn/topic/summary Android调试桥-Android Debug Birdge Android调试桥(adb)是一个多功能的命令行功具,它 ...
- Android调试大法 自定义IDE默认签名文件==>微信支付、微信登录、微信分享,debug时调试通过,release时调不起微信
转载地址:http://blog.yanzhenjie.com Android调试大法之自定义IDE默认签名文件,你是否为调试第三方SDK时debug签名和release签名发生冲突而烦恼?你是否在d ...
随机推荐
- 对mysql修改库里面所有的引擎mysaim 为 innodb
1.查看当前数据引擎的命令: show engines; 2. USE `[DBNAME]`; SELECT GROUP_CONCAT(CONCAT( 'ALTER TABLE ' ,TABLE_NA ...
- java HashMap和LinkedHashMap区别
我们用的最多的是HashMap,在Map 中插入.删除和定位元素,HashMap 是最好的选择.但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好.如果需要输出的顺序和输入的相同,那么用 ...
- ACM_下一个排列
The Next Permutation Time Limit: 2000/1000ms (Java/Others) Problem Description: For this problem, yo ...
- *RelativeLayout的布局参数含义表,如android:layout_alignParentTop等
RelativeLayout 参数规则 一个控件的位置由横,纵两个方向上的距离决定 控件默认的位置在左上角. 单独使用以下属性都只是改变一个方向的相对位置. 如:只使用了android:layout_ ...
- EditText(4)常用属性详解
常用的属性: 显示密码 通过设置EditText的setTransformationMethod()方法来实现隐藏密码或这显示密码. editText.setTransformationMethod( ...
- Kali linux 2016.2(Rolling)安装之后的常用配置
前言 使用默认的Kali Linux设置来学习是可以的,但是我们通常要修改系统的一些基本设置,来最大化使用Kali平台的功能. 以下内容 网络的基础知识 使用图形用户界面来配置网卡 使用命令行来配置网 ...
- 附加数据库错误代码 - 950【MSSQL】
分析 (539)代表的是Sql Server 2000数据库的内部版本号,也就是说要附加的数据库文件是由Sql Server 2000创建的,但是我们知道Sql Server 2016 数据库是不兼容 ...
- VS中设置xml智能提示
1.第一步:将xsd文件复制到VS的安装目录下 默认安装目录为:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Xml\Schemas 2.第二 ...
- System.AppDomain类详解(二)
进程是存在独立的内存和资源的,但是AppDomain仅仅是逻辑上的一种抽象.一个process可以存在多个AppDomain.各个AppDomain之间的数据时相互独立的.一个线程可以穿梭多个AppD ...
- 逻辑回归(Logistic Regression)推导
出自BYRans博客:http://www.cnblogs.com/BYRans/ 本文主要讲解分类问题中的逻辑回归.逻辑回归是一个二分类问题. 二分类问题 二分类问题是指预测的y值只有两个取值(0或 ...