Android Studio调试器未在特定文件的断点处停止

问题描述 投票:0回答:1

我遇到一个奇怪的问题,即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的类,并在我的应用的清单文件中声明。

非常感谢您的帮助!

我遇到一个奇怪的问题,即Android调试器没有在我的文件之一的断点处停止。我有两个类/文件Foo和Bar,它们都在同一模块中,但包不同。 ...

java android android-studio debugging breakpoints
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.