【问题标题】:Android Studio debugger not stopping at breakpoints in specific fileAndroid Studio 调试器不会在特定文件的断点处停止
【发布时间】:2020-08-30 08:06:23
【问题描述】:

我遇到了一个奇怪的问题,即 Android 调试器没有在我的一个文件中的断点处停止。我有两个类/文件 Foo 和 Bar 都在同一个模块但不同的包中。出于某种原因,调试器会跳过 Bar.java 文件中设置的所有断点,而它会在 Foo.java 中的所有断点处停止。

下面是 Foo.java 文件中调用 Bar.java 文件中的方法的方法示例。

private void foo(String str){
    if (str.length > 0) {
        Bar.getInstance().bar();
    }
}

当我在foo() 方法中的任何行上设置断点时,调试器会停止它们,但在 Bar.java 文件或bar() 方法中设置的任何断点都不会被识别或停止。

我很肯定代码执行到了Bar.getInstance().bar() 行,因为我可以在那里(在 Foo.java 文件中)设置一个断点,并且我还可以在 if 语句中设置一个断点并继续前进,直到我到达Bar.getInstance().bar() 行。

更奇怪的是,我能够使用调试器进入Bar.getInstance().bar() 并查看所有Bar 单例变量的值,除了它们的名称只是字母(附上截图)。

通常,当您使用调试器进入某些内容时,IDE 会移动到您正在进入的任何文件中的行,以便您可以长时间跟踪,在这种情况下,它只是停留在原来的位置。我也尝试过让调试器在foo() 的断点处停止,然后单击“恢复程序”按钮(绿色三角形指向右侧),看看它是否会在bar() 的断点之一处停止,但这不会也可以工作。

然后,我认为唯一相关的其他信息是所有这些都发生在 IME 服务内部。 foo 类是扩展 InputMethodService 并在我的应用程序清单文件中声明的类。

非常感谢任何帮助!

【问题讨论】:

    标签: java android android-studio debugging breakpoints


    【解决方案1】:

    我有点想通了。结果 minifyEnabled 在我的应用程序的 gradle 文件中设置为 true 并使用 foobar 类取消设置模块。我将两者都设置为false,它解决了这个问题。不知道为什么它在其中一个文件而不是另一个文件中工作,因为它们在同一个模块中,但我想它已经解决了足以让我继续工作。

    【讨论】:

      猜你喜欢
      • 2011-07-14
      • 2019-03-19
      • 2011-07-02
      • 2023-03-12
      • 2020-01-01
      • 2015-05-04
      • 2017-01-19
      • 1970-01-01
      • 2015-06-30
      相关资源
      最近更新 更多