51

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

4

12 回答 12

56

对我有用的解决方案:

  • 只需从设备上卸载应用程序(在设备上手动)并再次尝试调试(!)
于 2019-11-23T16:32:02.720 回答
50

如果您使用 Android Studio,请单击debug app而不是run app

在此处输入图像描述

于 2015-04-28T03:53:14.167 回答
21

根据这个答案,在build.gradle您的应用程序模块内部,为您的构建变体禁用 minifyEnable 并将其更改为 false。那么,应该是:

minifyEnabled false

Line number not available in class xxxx否则,当您将鼠标悬停在断点标记上时,您会看到它们上面会带有一个十字

于 2019-01-23T09:55:03.120 回答
18

您是否在 AndroidManifest 中设置了 debuggable 标志?如果您错过了,请在应用程序标签中添加 android:debuggable="true"。最后应该是这样的:

<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
于 2011-03-14T00:12:08.283 回答
14

在我的情况下,单击“将调试器附加到 Android 进程”

它会显示一个窗口,上面写着“选择进程”选择您正在使用的设备,然后选择您要调试的项目。它有效。

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

于 2018-02-05T04:14:44.997 回答
9

对于 Android 工作室:

  • 检查是否Mute Breakpoints错误地启用了该选项。图标如下所示:

Android 调试工具栏

对于日食:

  • 检查是否错误地启用了“跳过所有断点”选项。它是以下工具栏上的最后一个图标全部跳过图标

日食工具栏

于 2015-05-25T09:35:11.880 回答
5

您是否执行了“Debug As --> Android Application”而不是“Run As”?

仅当您执行“调试为”时,eclipse 才会在断点处停止。

于 2013-08-09T17:46:17.463 回答
1

我有同样的问题。转到 build.gradle。如果您有此代码,则必须更改此代码。

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

    debug {
        debuggable true
        minifyEnabled true
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),

'proguard-rules.pro' } }

调试部分应如下所示:

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

    debug {
        debuggable true
        minifyEnabled false
        shrinkResources false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),

'proguard-rules.pro' } }

我希望你的问题得到解决

于 2021-09-08T05:34:24.863 回答
0

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

您附加到服务流程Run > Attach Debugger To Android Process并选择服务流程。android.os.Debug.waitForDebugger();如果您无法及时手动附加,您可能需要添加到您的服务流程代码。

据我所知,没有办法在运行之前自动告诉 Android Studio 或 IntelliJ 附加到不同的进程。

于 2020-03-26T22:42:22.070 回答
0

如果您build typebuild.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'
    }
}
于 2020-04-05T08:16:55.880 回答
0

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

于 2021-02-19T18:28:57.087 回答
-1

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

五。

于 2013-07-11T16:38:43.480 回答