AS技巧合集「调试技巧篇」
50. 分析传入数据流(Analyze data flow to here)
描述:这个操作将会根据当前选中的变量、参数或者字段,分析出其传递到此处的路径。 当你进入某段陌生的代码,试图明白某个参数是怎么传递到此处的时候,这是一个非常有用的操作。
调用:Menu → Analyze → Analyze Data Flow to Here
快捷键:无,可以在设置中指定。
相反的操作:分析传出数据流(Analyze data flow from here),这个将会分析当前选中的变量往下传递的路径,直到结束。
51. 堆栈追踪分析(Analyze Stacktrace)
描述: 这个操作读取一份堆栈追踪信息,并且使它像logcat中那样可以点击。当你从bug报告中或者终端复制了一份堆栈追踪,使用该操作可以很方便地调试。
调用:Menu → Analyze → Analyze Stacktrace
快捷键:无,可以在设置中指定。
更多:通过使用“ProGuard Unscramble Plugin”插件,也可以分析混淆过的堆栈追踪。
52. 关联调试程序(Attach Debugger)
描述:随时启动调试程序,即使你没有以调试模式启动你的应用。这是一个很方便的操作,因为你不必为了调试程序而以调试模式重新部署你的应用。当别人正在测试应用,突然遇到一个bug而将设备交给你时,你也可以很快地进入调试模式。
调用:点击工具栏图标或者Menu → Build → Attach to Android Process
快捷键:无,可以在设置中指定,或者点击工具栏对应的图标。
53. 条件断点(Conditional Breakpoints)
描述:简单说,就是当设定的条件满足时,才会触发断点。你可以基于当前范围输入一个java布尔表达式,并且条件输入框内是支持代码补全的。
调用:右键需要填写表达式的断点,然后输入布尔表达式。
54. 禁用断点(Disable Breakpoints)
这个操作将使得断点。当你有一个设置过复杂条件的断点或者是日志断点,当前不需要,但是下次又不用重新创建,该操作是很方便的。
调用:按住Alt,然后单击断点即可。
55. 计算表达式(Evaluate Expression)
描述:这个操作可以用来查看变量的内容并且计算几乎任何有效的java表达式。需要注意的是,如果你修改了变量的状态,这个状态在你恢复代码执行后依然会保留。
快捷键:处在断点状态时,光标放在变量处,按Alt + F8,即可显示计算表达式对话框。
56. 审查变量(Inspect Variable)
描述:该操作可以在不打开计算表达式对话框就能审查表达式的值。
快捷键:调试状态下,按住Alt键,然后单击表达式即可。
57. 日志断点(Logging Breakpoints)
描述:这是一种打印日志而不是暂停的断点,当你想打印一些日志信息但是不想添加
log
代码后重新部署项目,这是一个非常有用的操作。调用:在断点上右键,取消
Suspend
的勾选,然后勾选上Log evaluated Expression
,并在输入框中输入你要打印的日志信息。
58. 标记对象(Mark Object)
描述:当你在调试的时候,这个操作可以让你给某个特殊的对象添加一个标签,方便你后面很快地辨认。在调试时,当你从一堆相似的对象中查看某个对象是否和之前是一样的,这就是一个非常有用的操作。
调用:右键你需要标记的对象,选中
Mark Object
,输入标签;快捷键:选中对象时,按F3(OS X)、F11(Windows/Linux);
59. 显示当前运行点(Show Execution Point)
描述:该操作会立刻把你的光标移回到当前debug处。
通常的情况是: 1. 你在某处触发了断点 2. 然后在文件中随意浏览 3. 直接调用这个快捷键,快速返回之前逐步调试的地方。
快捷键:(Debug时) Alt + F10;
60. 终止进程(Stop Process)
描述:该操作会终止当前正在运行的任务。如果任务数量大于一,则显示一个列表供你选择。在终止调试或者中止编译的时候特别有用!
快捷键:Cmd + F2(OS X)、Ctrl + F2(Windows、Linux);
61. 临时断点(Temporary Breakpoints)
描述:通过该操作可以添加一个断点,这个断点会在第一次被命中的时候自动移除。
快捷键:Alt + 鼠标左键 点击代码左侧(鼠标)、Cmd + Alt + Shift + F8(OS X)、Ctrl + Alt + Shift + F8(Windows/Linux)
62. 调用层级树弹窗(The Call Hierarchy Popup)
描述:该操作会给你展示 在一个方法的声明和调用之间所有可能的路径。
快捷键:Ctrl + Alt + H
文章来自「AndroidDeveloper」,微信号「googdev」,意为google developer,如果觉得不错,不妨分享给你的朋友们。
AS技巧合集「调试技巧篇」相关推荐
- alert不会影响到页面中其他代码执行_JavaScript调试技巧合集——为什么不推荐使用alert调试代码?...
导读 本文是<JavaScript调试技巧合集>系列分享中的一篇,笔者希望在每篇文章中介绍一个关于JS调试的小知识点,希望你在读完这个系列后,在调试技巧上能够更加运用自如.下面是知识点概览 ...
- Mac技巧合集第二期
2013-01-03 元旦期间收到了很多信息,大部分都回复了.得益于大家的在其他平台的推介,订阅用户稳步增长,非常感谢. 很多人问为什么这两天收不到微信推送了,事实上我已经在上一条微信中做了解释.这也 ...
- stotybord如何添加子视图_Revit软件技巧合集(建筑构件、视图处理、建筑表现、高级技巧)...
Revit软件技巧合集164套(建筑构件.视图处理.建筑表现.高级技巧) BIM技术在我国建筑行业受到了越来越多的关注,也得到了快速地发展.BIM应用软件也如雨后春笋般的涌现,随着时间的推移,revi ...
- 短视频运营技巧合集(上)
短视频运营技巧合集(上) 大家好,我是我赢助手,专注于新媒体短视频去水印.去重和文案提取运营的自媒体!今天给大家聊一下短视频怎么运营. 短视频是近两年来非常火爆的短视频软件.因为传播速度快,用户粘度高 ...
- 「第五篇」全国电子设计竞赛-电源题设计方案总结
点击上方"大鱼机器人",选择"置顶/星标公众号" 福利干货,第一时间送达! 0 前言 许多朋友给我留言说,有没有电源题目的一些文章可以参考. 为了给大家找更多 ...
- 「第四篇」电赛控制题可以准备一些什么?
点击上方"大鱼机器人",选择"置顶/星标公众号" 福利干货,第一时间送达! 0 前言 在我看来,其实控制题是较好做(混)的一种题型,你懂我意思吧.控制题简单概 ...
- python docker自动化_「docker实战篇」python的docker爬虫技术-移动自动化控制工具安卓ADB的使用(15)...
原创文章,欢迎转载.转载请注明:转载自 IT人故事会,谢谢! 原文链接地址: 「docker实战篇」python的docker爬虫技术-移动自动化控制工具安卓ADB的使用(15) adb(Androi ...
- 「docker实战篇」python的docker爬虫技术-安卓模拟器(二)
原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:「docker实战篇」python的docker爬虫技术-安卓模拟器(二) 为什么要手机模拟器,如果有条件正好有不使用的安卓手 ...
- 「docker实战篇」python的docker-抖音appium模拟滑动操作(22)
原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:「docker实战篇」python的docker-抖音appium模拟滑动操作(22) 上次代码写到了可以通过接口获取粉丝的数 ...
- 「第五篇」FUZZ模糊测试
批注[--] 表示他人.自己.网络批注参考资料来源于* 书中批注* CSDN* GitHub* Google* 维基百科* YouTube* MDN Web Docs由于编写过程中无法记录所有的URL ...
最新文章
- HTML的标签分为哪几类?各标签语法格式是怎样的?
- 【偶尔一道ctf】xctf adword mobile easy-apk
- 【FI】-【AM】跨工厂/事业部/利润中心的固定资产调拨
- java 简单跳台阶和变态跳台阶
- javax.xml.bind.UnmarshalException: 意外的元素 (uri:, local:xml)。所需元素为(none)
- 额,你在main.xml中加了一个id以后,要右键点save,才会将这个id加入到R中,否则是没有的。。。R里的东西是程序自动生成的~~~...
- 使用TensorFlow,GPU和Docker容器进行深度学习
- WordPress主题-The7 v9.16.0主题模板
- 漫画:一位文科生的编程之路。
- leetcode Course Schedule II
- Python3入门机器学习经典算法与应用 第3章 numpy 聚合操作
- 微信小程序蓝牙连接TSPL打印机打印图片思路
- 邹博机器学习升级版II附讲义、参考书与源码(数学 xgboost lda hmm svm)
- 采购订单模板_金蝶KIS商贸版(采购模块)常见问题汇总
- 根据26字母排列来搜索排列全国城市
- CoreDNS 1.9.0 openEuler 21.09 测试报告
- kafka的Leader选举机制
- 人工智能专题讲学:开源数据支撑下的人物与装备分析
- Java基础数组——以三种方法打印古诗《清平调》
- GSCoolink GSV6201 TypeC/DP to HDMI2.1