企业网站建设备案都需要什么,杭州网站推广优化,wordpress含有标签,网站开发设计体会目录 参考文章参考文章1、运行调试2、调试操作3、断点类型行断点的使用场景属性断点的使用场景异常断点的使用场景方法断点的使用场景条件断点日志断点 4、断点管理区 参考文章
参考文章
1、运行调试
开启 Debug 调试模式有两种方式#xff1a; Debug Run#xff1a;直接… 目录 参考文章参考文章1、运行调试2、调试操作3、断点类型行断点的使用场景属性断点的使用场景异常断点的使用场景方法断点的使用场景条件断点日志断点 4、断点管理区 参考文章
参考文章
1、运行调试
开启 Debug 调试模式有两种方式 Debug Run直接以 Debug 模式运行 APP该模式的优点是可以调试程序启动相关的代码 例如 Application.onCreate()。
Attach To Process在程序运行中选择进程来调试该模式的优点是随时可开启、关闭 Debug 模式使用灵活方便。
注意Debug Run 会导致程序整体变慢建议使用等待调试使用该方式可以在启动应用后处于等待状态在开启调试后应用才会走初始化流程有两种方式开启等待断点 方法1「开发者选项 - 选择调试应用」的方式来调试应用启动阶段代码。具体方式为「选择调试应用」- 「运行应用」- 「Attach To Process」然后等待断点执行即可。 方法2使用adb命令adb shell am set-debug-app -w --persistent 包名开启「-w」即表示应用启动时等待调试程序关闭使用adb shell am clear-debug-app。
2、调试操作 Show Execution Point(AltF10) 跳到当前执行的断点处。Step Over(F8)单步执行执行到当前行的下一行。Step Into(F7)进入正在执行的方法。Focus Step Into(Altshift_F7)同3但是可以进入源码在3无法进入的情况下可以尝试该操作。Step Out(shift F8)跳出正在执行的方法。Drop Frame返回到当前方法的调用处。Run to Cursor(AltF9)运行到光标处光标必须在当前断点位置后。Evaluate expression计算选中的变量的值。
3、断点类型
断点分为以下类型 行断点 当执行到此行是停止执行等待调试。 属性断点打在类的成员变量上当变量初始化或变量的值改变时触发断点。 异常断点当抛出指定异常时触发断点。 方法断点当需要知道一个方法的调用方时。 条件断点 日志断点
行断点的使用场景
属性断点的使用场景
当你遇到一个问题并且怀疑是某个属性值的变化导致的可以设置属性断点来跟踪这个属性的变化情况以便快速定位问题所在 调试属性值变化当你想要追踪某个对象属性的变化情况时可以设置属性断点。例如你可能想要查看一个变量何时被修改以及修改后的新值是什么。
异常断点的使用场景
在有些情况下我们只对某些特定的异常感兴趣或者我们只对异常感兴趣我们希望只要程序发生异常程序就能断下来这好像保存现场一样这样就会留下的线索比较多可以使我们快速的找到问题得根源 举例说明首先我们添加一个异常断点单击 然后在弹出的对话框中进行如下设置 假如我们只关心空指针异常可以进行如下设置 选中空指针异常即可我们人为设置一个空指针异常来看下运行效果
方法断点的使用场景
如下所示有个接口 IMethodTest同时有两个类 MethodTestImpl1 和 MethodTestImpl2 实现了该接口在 IMethodTest 的 printMethod() 上打上方法断点 在代码中实例化了 MethodTestImpl2 来调用 printMethod() 。 最后当 Debug 到该方法断点时会自动走到 MethodTestImpl2 的 printMethod() 的实现中
条件断点
Ctrl Shift F8 条件断点 所谓的条件断点就是在特定条件发生的断点也就是我们可将某个断点设置为只对某种事件感兴趣最典型的应用就是在列表循环中我们希望在某特定的元素出现时暂停程序运行。假如我们有一个数组里面有1、2、3、4、5五个值我们想在值等于3的时候停下来可以设置条件断点 右击断点在弹出的对话框中设置相应的条件即可我们运行一下看下效果
日志断点
日志断点 很多时候我们调试的时候更多的是打印日志定位异常代码缩小范围之后再使用断点解决问题所以经常做的事情就是在代码里面添加日志信息输出函数参数返回信息输出我们感兴趣的变量信息等。但是这样做的问题在于我们需要重新编译运行程序并且添加了很多无谓的代码且不好管理这个时候我们可以使用日志断点该类型的断点不会使程序停下来而是在输出我们要它输出的日志信息然后继续执行。 4、断点管理区