debugging - Android Studio IDE : Break on Exception

标签 debugging exception android-studio breakpoints

默认情况下,我的 Android Studio 似乎不想因任何异常而中断。在“任何异常”上启用中断会开始在实际的 JDE 库中中断。有什么方法可以强制它仅在我的代码中发生异常时中断吗?

来自 Visual Studio 宇宙,在这里寻找默认的 VS 调试行为。

最佳答案

中断所有异常(捕获或未捕获):

  1. 通过运行 -> 查看断点打开“断点”窗口。
  2. 出现“断点”对话框。在左侧 Pane 中,滚动到底部。在Java异常断点下选择任何异常
  3. 选择任何异常(exception)后,在右侧 Pane 中进行如下配置:
    • 暂停:选中
    • 全部:已选择
    • 条件:!(this instanceof java.lang.ClassNotFoundException)
    • 通知:选择了捕获的异常未捕获的异常

Breakpoints dialog

  • 定义过滤器,指定调试器中断的库的命名空间:选中类过滤器复选框以启用类过滤 ( as mentioned by @Scott Barta )。然后单击...(省略号)按钮打开“类过滤器”对话框。通过单击 Add Pattern 指定类命名空间模式(添加图案)按钮。进入:
    • com.myapp.*(将其替换为您应用的命名空间前缀)
    • java.* (注意:根据 OP 的问题,将其保留,以免破坏 Java 库)
    • android.*(如上所述,省略仅调试自己的应用代码)
    • 根据需要添加任何其他命名空间(例如第 3 方库)
  • Class Filters

  • 确定,然后关闭“断点”对话框。
  • 关于debugging - Android Studio IDE : Break on Exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24718958/

    相关文章:

    c - 为什么当 current->next == NULL 时 current = current->next 会出现段错误?

    c# - 为什么这样的迭代会失败呢?

    python - 为什么 mp.Pool fast 会失败,而 ProcessPoolExecutor 不会?

    c++ - 如何使用可变消息抛出 std::exceptions?

    java - Java-7 中的自定义包装异常与 Multi-Catch

    java - Android Studio 无法初始化类 org.codehaus.groovy.runtime.InvokerHelper

    c - 在 Visual Studio 中使用 "Command Arguments"进行调试不起作用

    debugging - 经典 ASP : Attached Debugger

    java - 重复的条目:gms/auth/api/signin/internal/zzf.class

    android-studio - Android Studio 项目文件夹未显示