这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此。

先编译好要调试的程序。

1.设置断点

选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可。

2.开启调试会话

点击红色箭头指向的小虫子,开始进入调试。

IDE下方出现Debug视图,红色的箭头指向的是现在调试程序停留的代码行,方法f2()中,程序的第11行。红色箭头悬停的区域是程序的方法调用栈区。在这个区域中显示了程序执行到断点处所调用过的所用方法,越下面的方法被调用的越早。

3.单步调试

3.1 step over

点击红色箭头指向的按钮,程序向下执行一行(如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行)

3.2 step into

点击红色箭头指向的按钮,程序向下执行一行。如果该行有自定义方法,则运行进入自定义方法(不会进入官方类库的方法)。具体步骤如下:

在自定义方法发f1()处设置断点,执行调试

点击

3.3 Force step into

该按钮在调试的时候能进入任何方法。

3.4 step out

如果在调试的时候你进入了一个方法(如f2()),并觉得该方法没有问题,你就可以使用stepout跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕。

3.5 Drop frame

点击该按钮后,你将返回到当前方法的调用处(如上图,程序会回到main()中)重新执行,并且所有上下文变量的值也回到那个时候。只要调用链中还有上级方法,可以跳到其中的任何一个方法。

4. 高级调试

4.1 跨断点调试

设置多个断点,开启调试。

想移动到下一个断点,点击如下图:

程序将运行一个断点到下一个断点之间需要执行的代码。如果后面代码没有断点,再次点击该按钮将会执行完程序。

4.2 查看断点

点击箭头指向的按钮,可以查看你曾经设置过的断点并可设置断点的一些属性。

箭头1指向的是你曾经设置过的断点,箭头2可以设置条件断点(满足某个条件的时候,暂停程序的执行,如 c==97)。结束调试后,应该在箭头1处把所设的断点删除(选择要删除的断点后,点击上方的红色减号)。

4.3 设置变量值

调试开始后,在红箭头指向的区域可以给指定的变量赋值(鼠标左键选择变量,右键弹出菜单选择setValue...)。这个功能可以更加快速的检测你的条件语句和循环语句。

alt+f8 debug时选中查看值
f8相当于eclipse的f6跳到下一步
shift+f8相当于eclipse的f8跳到下一个断点,也相当于eclipse的f7跳出函数
f7相当于eclipse的f5就是进入到代码
alt+shift+f7这个是强制进入代码
ctrl+shift+f9 debug运行java类
ctrl+shift+f10正常运行java类
command+f2停止运行

Android Studio调试功能使用总结相关推荐

  1. Android Studio调试功能使用总结【转】

    这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此. 先编译好要调试的程序. 1.设置断点 选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可. 2.开启调试会话 ...

  2. [免费专栏] Android安全之动态调试APP的一些技巧「Android Studio调试」

    也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 Android安全付费专栏长期更新,本篇最新内容请前往: [ ...

  3. android studio 自动try,Catch Try让我在Android Studio调试中感到困惑

    我试图在Android Studio中调试这段代码.这一切看起来都非常简单,但尝试中的'return sb1'不允许我打破它(带有x的红点)并且说它不可执行.Catch Try让我在Android S ...

  4. 用Android Studio调试Framework层代码

    Android程序员不得不知的调试技巧. 本文以webview loadUrl和域名解析为例,介绍配合使用LLDB和Android Studio调试Framework代码的技巧. java 层调试 首 ...

  5. Android逆向笔记-使用Android Studio调试Smali代码(方式一)

    这里我使用Android Studio写了这样的一个程序: 然后点下BUTTON后: 下面写下如何调试这种程序. 开发环境: win 10: 使用的模拟器是雷神模拟器: Android Studio版 ...

  6. Android Studio实现功能丰富的仓库管理系统

    项目目录 一.项目概述 二.开发环境 三.项目结构 四.数据库文件 五.项目演示 六.源码获取 一.项目概述 本次项目实现了一个简单的仓库管理系统.用户身份分为超级管理员.出入库人员和商品管理员这三种 ...

  7. 在Mac上使用android studio调试android手机

    一.环境准备 1.安卓手机:Android版本为9 2.MacBook Pro 3.安卓数据线 二.adb介绍 1.adb概念 adb:全称是Android Debug Bridge,意思是Andro ...

  8. android代码查找快捷键是什么,Android Studio搜索功能(查找功能)及快捷键图文详解(示例代码)...

    1.在当前窗口查找文本[Ctrl+F] F3 向下查找关键字出现位置 Shift+F3 向上一个关键字出现位置 2.在当前工程内查找文本[Ctrl+Shift+F] 先会弹出一个对话框,直接点击[fi ...

  9. 使用Android Studio调试系统应用之TvSettings(一):移植

    文章目录 1.前言 相关文章 2.基本思路 3.调试平台 4.获取App源码 5.分析配置文件 6.配置文件初步分析结果 7.构建 TvSettings Project 7.1.按配置新建项目 7.2 ...

最新文章

  1. 如何将 backordered 的SO# 重新发运?
  2. Leetcode中单链表题总结
  3. 判断两条链表是否交叉,若有交叉,返回交叉节点的指针。
  4. JDK环境变量配置(一次性成功)
  5. java学习(18):巩固练习
  6. JAVA进阶开发之(数组练习题)
  7. Hadoop HIVE 基本数据类型
  8. 深度学习实践指南(三)—— 参数(超参)及数据集的处理
  9. 近期的技术问题让云供应商进行预设加密
  10. mysql8自定义安装位置_docker 自定义安装 mysql8
  11. C# .Net中的类型转换(5)
  12. 复习HTTP状态码+301和302
  13. 六石管理学:培训重点应该是工作技能
  14. Print Screen sysRa PrtSc
  15. 樊登读书会-《关键对话》
  16. UVM-sequence
  17. Contour 学习笔记(一):使用 Contour 接管 Kubernetes 的南北流量
  18. 派森诺转录+代谢组联合分析
  19. 简单易懂的CRC校验原理阐述
  20. 由于找不到vcruntime140_1.dll无法继续执行代码,vcruntime140_1.dll丢失如何修复

热门文章

  1. python 文字语音朗读-python 利用pyttsx3文字转语音
  2. python timer使用-Python timer定时器两种常用方法解析
  3. guava之preconditions
  4. spring如何解决循环依赖
  5. LeetCode Integer to Roman(数字转罗马)
  6. Incorrect number of FETCH variables
  7. vue+vue-router+vuex实战
  8. ubuntu下zip文件操作
  9. 第六周读书笔记《浪潮之巅》
  10. 浅谈错排公式的推导及应用