【问题标题】:Breakpoint in service not working服务中的断点不起作用
【发布时间】:2012-11-26 09:35:00
【问题描述】:

我正在尝试向在单独线程上运行的服务添加断点。无论我将断点放在服务的什么位置,它们总是被忽略。

当我在 logcat 中看到 Log.e 时,我确信该服务正在运行。我的调试模式也被正确地用作应用程序主线程中的任何断点。

我错过了什么吗?单独线程中的服务不支持调试模式吗?

我今天刚刚将 Eclipse 和 Android SDK 工具更新到最新版本。

我正在设备上测试我的应用程序。

【问题讨论】:

  • 您是在模拟器还是在设备上运行应用程序?
  • 我正在设备上测试我的代码
  • 看看这个link
  • 您的服务是否在不同的进程中运行?您是否在清单中设置了android:process=":something"
  • 感谢 Abhay Kumar。 android.os.Debug.waitForDebugger() 成功了。添加您的答案,以便我选择它。

标签: android eclipse debugging service breakpoints


【解决方案1】:

android.os.Debug.waitForDebugger() 成功了。在要调试的代码行之前添加它。

【讨论】:

  • 警告 - 不要将其留在生产代码中。如果您运行您的服务并且真正没有附加调试器,则此行之后的任何代码都不会执行。
  • if (BuildConfig.DEBUG == true)包装它
【解决方案2】:

确保在清单中的服务标签中使用 android:process 属性声明包名,例如:

<service android:name=".YourCoolService"
            android:process="your.package.here"/>

【讨论】:

  • 大声笑,会有相同的过程与您的应用程序没有不同
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-18
  • 1970-01-01
  • 1970-01-01
  • 2020-04-09
  • 1970-01-01
相关资源
最近更新 更多