Android studio debug调试记录

本文介绍了在调试过程中常用的操作,如单步执行、进入方法、查看线程堆栈等,并解释了这些操作的具体含义及应用场景。

有些不经常使用的话,好记性不如烂笔头

这里写图片描述

从左到右依次

  1. 跳到当前执行的断点处
  2. Step Over 单步执行、
  3. Step Into 进入正在执行的方法(必须是自定义的方法)、
  4. Focus Step Into 可以进入源码
  5. Step Out 跳出正在执行的方法
  6. Drop Frame 返回到当前方法的调用处
  7. Run to Cursor 运行到光标处
  8. Evaluate expression 计算选中的变量的值



这里写图片描述

从上到下依次为:

  1. 切换debugger模式
  2. 运行至下一断点,(从暂停)恢复程序
  3. 暂停程序
  4. 关闭调试
  5. 查看断点
  6. 隐藏断点
  7. 查看线程堆栈
Android Studio 中进行调试Android 开发过程中非常关键的一环,它可以帮助开发者快速定位并解决代码中的问题。以下是几种常用的调试方法和技巧。 ### 使用断点进行调试 Android Studio 提供了强大的断点调试功能。开发者可以在代码的特定行设置断点,当程序运行到这些行时会暂停执行,从而可以检查当前的变量状态、调用栈等信息。最简单的方法是在代码行号旁边点击,设置一个行断点。如果希望在某个方法被调用时暂停,可以在方法头的那一行设置断点,这种断点被称为方法断点 [^3]。 此外,还可以设置条件断点,即只有在满足特定条件时才会触发断点。这对于调试特定情况下的问题非常有用。设置条件断点的方法是:右键点击已经设置的断点,然后选择 "More",在弹出的窗口中输入条件表达式 [^1]。 ### 方法断点 除了传统的行断点外,Android Studio 还支持方法断点。方法断点允许开发者在某个方法被调用时暂停执行。这对于检查方法的参数和返回值非常有用。设置方法断点的方法是在方法头的那一行点击,或者在调试过程中通过调试工具窗口中的 "Method Breakpoint" 选项添加 [^3]。 ### 调试器的使用 在 Android Studio 中,调试器是通过点击工具栏上的调试按钮(通常是一个虫子图标)来启动的。调试器启动后,程序会在第一个断点处暂停。此时,开发者可以使用调试工具窗口中的各种功能来控制程序的执行,例如: - **Step Over**:执行下一行代码,不会进入方法内部。 - **Step Into**:进入当前行的方法内部。 - **Step Out**:从当前方法中跳出。 - **Resume Program**:继续执行程序直到下一个断点。 - **Evaluate Expression**:计算表达式的值,可以在调试过程中实时查看变量的状态 [^1]。 ### 解决 Debug 按钮灰色的问题 有时候,开发者可能会遇到 Android StudioDebug 按钮呈灰色的情况,这意味着无法启动调试器。解决这个问题的一个方法是尝试禁用某些插件。具体操作是:进入 `File -> Settings -> Plugins`,取消勾选 `Android Studio NDK support` 插件,然后点击 `Apply` 并重新启动 Android Studio。这样做可以确保调试器能够正常运行 [^2]。 ### NDK 调试 对于需要使用 NDK 的项目调试过程会稍微复杂一些。NDK 是 Native Development Kit 的缩,它允许开发者使用 C/C++ 编部分代码。虽然 NDK 看起来有些神秘,但实际上只需要按照官方的步骤操作即可。通常情况下,NDK 调试涉及一些代码格式以及原生/JAVA 内存交互的问题。对于初学者来说,除非项目有特殊需求,否则一般不需要深入了解 NDK 的细节 [^4]。 ### JVM 调试 除了 Android 应用本身的调试,了解一些 JVM(Java Virtual Machine)的基础知识也是有帮助的。虽然 JVM 的某些高级特性可能需要专门的研究,但对于大多数开发者来说,掌握基本的 JVM 调试技巧就足够了。例如,可以通过 Android Studio调试器来查看 Java 代码的执行情况 [^4]。 ### 示例代码 下面是一个简单的示例代码,展示了如何在 Android 应用中设置断点并进行调试: ```java public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 设置一个断点在这里 String message = "Hello, Android!"; Log.d("MainActivity", message); // 可以在这里设置断点 } } ``` 在这个示例中,开发者可以在 `Log.d` 行设置一个断点,以便在应用运行时暂停执行并检查 `message` 变量的值。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值