首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用InterruptedException的Android调试器应用程序崩溃

使用InterruptedException的Android调试器应用程序崩溃
EN

Stack Overflow用户
提问于 2016-05-24 20:26:13
回答 4查看 26K关注 0票数 24

在今天工作时,我似乎突然无法调试我们的应用程序了。有趣的是,如果我正常运行这个应用程序,它就能正常工作。澄清一下,我整个上午都在运行调试器,没有发生事故(除了偶尔的故障或崩溃)。然后午饭后,它开始100%的失败。当然,我已经做了一整天的改变,因此上面的“它似乎”。因此,这里有一些相关的细节:

  • Android Studio 2.1.1 (2016年4月28日构建)
  • 这个应用程序从登录屏幕开始。然后,用户必须使用用户名/密码进行身份验证,该用户名/密码调用外部服务。
  • 我可以进入登录屏幕,但应用程序总是在身份验证过程中的同一点崩溃。

下面是堆栈跟踪:

代码语言:javascript
运行
复制
05-24 14:56:25.764 2399-2745/com.mycomp.myapp.test E/Crashlytics: Failed to execute task.
                    java.lang.InterruptedException
                        at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:375)
                        at java.util.concurrent.FutureTask.get(FutureTask.java:162)
                        at com.crashlytics.android.v.a(SourceFile:1936)
                        at com.crashlytics.android.v.uncaughtException(SourceFile:307)
                        at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
                        at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
05-24 14:56:25.764 2399-2745/com.mycomp.myapp.test E/AndroidRuntime: FATAL EXCEPTION: pool-5-thread-1
                       Process: com.mycomp.myapp.test, PID: 2399
                       java.lang.InterruptedException
                           at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:1991)
                           at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2025)
                           at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
                           at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
                           at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
                           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
                           at java.lang.Thread.run(Thread.java:820)

下面是我试图解决的问题:

  • 收回我所有的更改(git藏起来)
  • 从电话卸载应用程序
  • 做一个干净的构建
  • 做一个分级项目重新同步
  • 删除所有断点(认真地?)
    • 好吧,我到处都在添加断点,看看事情是如何工作的,谁知道呢?有一些优点。

  • 重启安卓工作室!(一次又一次地关机)

到目前为止,什么都不起作用。然而,我怎么强调都不过分,如果我只是运行应用程序(播放按钮,^R),并运行在完全相同的设备上,它工作得很好!登录没有问题。所以,这似乎不是一个代码问题。

此外,如果您查看堆栈跟踪,没有任何指向我们的项目。

有什么想法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-05-25 15:49:39

嗯,我想出来了。结果,我选择了一个“”,并将“挂起线程”作为选项之一。请参阅所附的屏幕截图以获得澄清。外卖:

正如你所看到的,我用了很多断点,所以它被埋在窗口里,我没有看到它。

我还是不知道它是怎么被设定的。前一天我一直在用手表,但我把它们全部删除了。此外,我很确定我没有打开它,所以它怎么神秘地在中午停止工作仍然是一个谜。而且,我当然不会自己检查“挂起线程”。某种默认设置?

点保留-如果您看到奇怪的堆栈跟踪,检查所有断点和监视点设置可能是好的。

我希望这能帮上忙。

票数 44
EN

Stack Overflow用户

发布于 2017-07-16 01:19:00

即时运行似乎是罪魁祸首(至少在AndroidStudio2.3.3中是如此)。尝试禁用即时运行,而不是禁用断点。一旦我这样做,断点就不再造成崩溃。

详情请参见Android app crashes when launched in debug mode。在Mac下,我通过访问Android >Preferences->Build、Execution、Deployment>InstantRun并取消检查“.”,从而禁用了即时运行。

有一个“即时跑有问题吗?”显示在“设置”面板中的消息。我点击“重新启用并激活额外的日志记录”,复制崩溃,然后立即报告使用“帮助报告即时运行问题.”根据他们的要求选择。

票数 24
EN

Stack Overflow用户

发布于 2018-09-07 06:16:38

关闭即时运行,它将修复所有问题

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37423225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档