0%

Debug技巧

Debug 技巧

使用 IDE 进行 Debug 时的一些技巧操作,其实可以节省大量的时间

Code

1
2
3
4
5
6
7
8
9
10
11
12
public class Client {
private static final String[] NAMES = {"美队", "浩克", "黑寡妇"};
private static final List<User> USERS = Arrays.stream(NAMES)
.map(name -> new User(name, "男"))
.collect(Collectors.toList());

public static void main(String[] args) {
for (User user : USERS) {
System.out.println(user);
}
}
}

条件断点 + 代码植入

改变变量状态能够动态地设置变量值,条件断点可以控制断点是能在此处挂起,那将两者结合就能达到在程序不挂起的情况下进行动态代码植入的效果

Android

动态修改值,避免多次运行代码

变量解析器

变量属性过多 debug 时无法完全展现时

甚至可以通过反射的方式,获取任意类的是所有属性,然后直接通过变量解析器进行设置

参考文档

Android Studio 之 Debug(一):运行期代码植入
Android Studio 之 Debug(二):运行期代码植入

加个鸡腿呗.