android调试器不会在断点处停止

时间:2011-03-14 00:05:01

标签: android android-studio debugging

我在控制台中看到调试语句,但调试器不会在任何断点上停止。我尝试清除所有断点并重新添加它们。不确定这是怎么发生的,但确实如此。

11 个答案:

答案 0 :(得分:25)

如果您使用的是Android工作室,请点击debug app代替run app

enter image description here

答案 1 :(得分:9)

您是否在AndroidManifest中设置了debuggable标志? 如果您错过了,请在应用程序标记中添加android:debuggable =“true”。 它最终看起来应该是这样的:

<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">

答案 2 :(得分:6)

  

的Eclipse

:检查选项&#34; 跳过所有断点&#34;错误启用

最后一个图标代表此选项enter image description here

  

Android Studio

检查选项&#34; 静音断点&#34;错误启用

enter image description here

答案 3 :(得分:6)

在我的情况下,点击&#34;将调试程序附加到Android进程&#34;

它将显示一个窗口,表示&#34;选择流程&#34; 选择您正在使用的设备,然后选择要调试的项目。它有效。

有时,第一次打开调试器时,调试器需要重新连接到设备。

答案 4 :(得分:4)

你做过“Debug As - &gt; Android Application”而不是“Run As”吗?

只有当你执行“Debug As”时,eclipse才会在断点处停止。

答案 5 :(得分:2)

根据this answer,在build.gradle内,为您的应用模块,为构建变体禁用minifyEnable并将其更改为false。然后,应该是:

minifyEnabled false

否则,当您将鼠标悬停在断点标记上时,您会看到Line number not available in class xxxx,并且它们会被标记为十字形

答案 6 :(得分:1)

对我有用的解决方案:

  • 只需 从设备上卸载应用 手动在设备上 ),然后再次尝试调试(! )

答案 7 :(得分:0)

我遇到了同样的问题,并通过增加调试器超时值来解决它。 模拟器作为我的开发盒上的狗很慢,这是阻止调试器捕获和停止断点的原因。 我将超时值分别从3000更改为10000和20000更改为60000,现在一切都很好。

答案 8 :(得分:0)

就我而言,该应用使用AndroidManifest中的android:process=":service"创建了一个具有不同进程的服务。因此,我在调试器自动附加到主应用程序进程的同时在服务进程代码中设置了断点。对我来说很愚蠢,但这可能会帮助别人。

您使用Run > Attach Debugger To Android Process附加到服务流程,然后选择服务流程。如果无法及时附加,您可能需要在服务过程代码中添加android.os.Debug.waitForDebugger();

据我所知,在运行之前,无法自动告诉Android Studio或IntelliJ附加到其他进程。

答案 9 :(得分:0)

如果您在build type支票中添加了一些build.gradle以拥有debuggable true

buildTypes {
    debug {
        debuggable true
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    } 

    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

答案 10 :(得分:0)

我遇到了这个问题,我清理了 build.gradle 的 buildTypes 部分 并尝试年龄,所以它对我有用。