gpt4 book ai didi

java - Android Studio 调试器不会在特定文件中的断点处停止

转载 作者:行者123 更新时间:2023-12-01 16:45:30 33 4
gpt4 key购买 nike

我遇到了一个奇怪的问题,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 的值单例的实例变量,除了它们的名称只是字母(附截图)。

enter image description here

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

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

非常感谢任何帮助!

最佳答案

我大概明白了。事实证明,在我的应用程序的 gradle 文件中,minifyEnabled 设置为 true,并使用 foobar 类取消设置该模块。我将两者都设置为 false 并解决了问题。不确定为什么它在其中一个文件中工作,而不是在另一个文件中工作,因为它们位于同一模块中,但我想它已经足够解决,足以让我继续工作。

关于java - Android Studio 调试器不会在特定文件中的断点处停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61786348/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com