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技巧合集「调试技巧篇」相关推荐

  1. alert不会影响到页面中其他代码执行_JavaScript调试技巧合集——为什么不推荐使用alert调试代码?...

    导读 本文是<JavaScript调试技巧合集>系列分享中的一篇,笔者希望在每篇文章中介绍一个关于JS调试的小知识点,希望你在读完这个系列后,在调试技巧上能够更加运用自如.下面是知识点概览 ...

  2. Mac技巧合集第二期

    2013-01-03 元旦期间收到了很多信息,大部分都回复了.得益于大家的在其他平台的推介,订阅用户稳步增长,非常感谢. 很多人问为什么这两天收不到微信推送了,事实上我已经在上一条微信中做了解释.这也 ...

  3. stotybord如何添加子视图_Revit软件技巧合集(建筑构件、视图处理、建筑表现、高级技巧)...

    Revit软件技巧合集164套(建筑构件.视图处理.建筑表现.高级技巧) BIM技术在我国建筑行业受到了越来越多的关注,也得到了快速地发展.BIM应用软件也如雨后春笋般的涌现,随着时间的推移,revi ...

  4. 短视频运营技巧合集(上)

    短视频运营技巧合集(上) 大家好,我是我赢助手,专注于新媒体短视频去水印.去重和文案提取运营的自媒体!今天给大家聊一下短视频怎么运营. 短视频是近两年来非常火爆的短视频软件.因为传播速度快,用户粘度高 ...

  5. 「第五篇」全国电子设计竞赛-电源题设计方案总结

    点击上方"大鱼机器人",选择"置顶/星标公众号" 福利干货,第一时间送达! 0  前言 许多朋友给我留言说,有没有电源题目的一些文章可以参考. 为了给大家找更多 ...

  6. 「第四篇」电赛控制题可以准备一些什么?

    点击上方"大鱼机器人",选择"置顶/星标公众号" 福利干货,第一时间送达! 0  前言 在我看来,其实控制题是较好做(混)的一种题型,你懂我意思吧.控制题简单概 ...

  7. python docker自动化_「docker实战篇」python的docker爬虫技术-移动自动化控制工具安卓ADB的使用(15)...

    原创文章,欢迎转载.转载请注明:转载自 IT人故事会,谢谢! 原文链接地址: 「docker实战篇」python的docker爬虫技术-移动自动化控制工具安卓ADB的使用(15) adb(Androi ...

  8. 「docker实战篇」python的docker爬虫技术-安卓模拟器(二)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:「docker实战篇」python的docker爬虫技术-安卓模拟器(二) 为什么要手机模拟器,如果有条件正好有不使用的安卓手 ...

  9. 「docker实战篇」python的docker-抖音appium模拟滑动操作(22)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:「docker实战篇」python的docker-抖音appium模拟滑动操作(22) 上次代码写到了可以通过接口获取粉丝的数 ...

  10. 「第五篇」FUZZ模糊测试

    批注[--] 表示他人.自己.网络批注参考资料来源于* 书中批注* CSDN* GitHub* Google* 维基百科* YouTube* MDN Web Docs由于编写过程中无法记录所有的URL ...

最新文章

  1. HTML的标签分为哪几类?各标签语法格式是怎样的?
  2. 【偶尔一道ctf】xctf adword mobile easy-apk
  3. 【FI】-【AM】跨工厂/事业部/利润中心的固定资产调拨
  4. java 简单跳台阶和变态跳台阶
  5. javax.xml.bind.UnmarshalException: 意外的元素 (uri:, local:xml)。所需元素为(none)
  6. 额,你在main.xml中加了一个id以后,要右键点save,才会将这个id加入到R中,否则是没有的。。。R里的东西是程序自动生成的~~~...
  7. 使用TensorFlow,GPU和Docker容器进行深度学习
  8. WordPress主题-The7 v9.16.0主题模板
  9. 漫画:一位文科生的编程之路。
  10. leetcode Course Schedule II
  11. Python3入门机器学习经典算法与应用 第3章 numpy 聚合操作
  12. 微信小程序蓝牙连接TSPL打印机打印图片思路
  13. 邹博机器学习升级版II附讲义、参考书与源码(数学 xgboost lda hmm svm)
  14. 采购订单模板_金蝶KIS商贸版(采购模块)常见问题汇总
  15. 根据26字母排列来搜索排列全国城市
  16. CoreDNS 1.9.0 openEuler 21.09 测试报告
  17. kafka的Leader选举机制
  18. 人工智能专题讲学:开源数据支撑下的人物与装备分析
  19. Java基础数组——以三种方法打印古诗《清平调》
  20. GSCoolink GSV6201 TypeC/DP to HDMI2.1

热门文章

  1. 关于asp.net页面缓存
  2. Java中的break Label 和continue Label
  3. 苹果mac投屏软件:AirServer
  4. 【开源组件】记住:不要在MySQL中使用UTF-8
  5. 看雪CTF.TSRC 2018 团队赛 第九题『谍战』 解题思路
  6. 【备战春招/秋招系列】美团Java面经总结进阶篇 (附详解答案) 1
  7. 《自己动手做交互系统》——1.2 制作过程
  8. 使用 IntelliJ IDEA 导入 Spark源码及编译 Spark 源代码
  9. 一个c++程序员对大学生的友情提醒
  10. 上班族的真实生活写照-上班、加班、免费加班