AIDE 中文文档 下载 App

变量与对象检查——看看程序此刻手里拿的是什么

调试变量检查面板

断点暂停后,AIDE 调试面板展示当前作用域内的所有变量:

区域内容
Local Variables当前方法内定义的局部变量
Field Variables当前类的成员变量(this.xxx)
Thread Stack当前线程的调用堆栈

基本类型变量

对于基本类型(int、boolean、String 等),面板直接显示变量名和当前值:

local variables:
  int count = 3
  boolean isReady = true
  String name = "AIDE"

可以一眼看出变量值是否符合预期。

对象变量——展开看内部

对象变量旁边有一个展开箭头(▶),点击可以展开查看该对象的所有字段(包括父类的):

User user = User@1a2b3c (展开)
  - int age = 25
  - String name = "张三"
  - List<String> tags = ArrayList (size=3)
    [0] = "开发者"
    [1] = "Android"
    [2] = "极客"
  - boolean isActive = true

这比一堆 print 日志高效太多——直接就能看到对象内部每个字段的实际值。

调用堆栈(Thread Stack)

调用堆栈展示了程序是怎么一路走到当前断点这一行的:

main.java:15  Main.main()
  ↳ UserService.java:42  UserService.loadUser()
    ↳ UserRepository.java:88  UserRepository.query()
      ↳ Database.java:210  Database.executeQuery()  ← 当前在这里

每一层都可以点击,AIDE 会跳转到对应方法的源码位置。

变量值变化

单步执行时注意观察变量面板——每次 Step Over 或 Step Into 后,变量值会实时刷新。如果某个变量值在不应该变的时候变了,或者一直没变,那就是线索。

实用调试技巧

对比变量值

如果有两个变量应该相等但实际不相等,直接在面板里对比它们的值。

看 null 问题

如果报了 NullPointerException,进到 catch 块或出错位置,看看哪个对象是 null。

看集合内容

List/Map/Set 等集合类型的变量可以展开查看每个元素,确认数据是否完整。

打印日志 vs 断点

场景推荐方式
快速看一个值println
看很多值的变化断点 + 变量面板
逻辑复杂需要跟踪断点 + 单步 + 堆栈
偶发 bug断点(加条件断点更好,但 AIDE 不支持)
每次运行都要观测println(调试器每次都要手动停)