在 Eclipse 中调试 Android 上的死锁

Debugging deadlock on Android in Eclipse

我必须开发新功能并更改一些存在问题的广泛 Android 应用程序(其中任何更改可能会完全影响 "unrelated" 部分代码)并且我遇到了应用程序冻结的错误(没有回应)。

所以我认为这可能是一个僵局。但是如何调试呢?我不能一步一步来,因为我们有很多线程 运行 而且我不知道在哪里放置断点...

有什么方法可以中断调试并获取应用程序当前所在的行(或部分代码)运行?

希望它不会太混乱,但我已经从几个小时的测试中筋疲力尽了...

由于您的应用是多线程的,因此最好的选择可能是在您的代码中使用调试日志。您可能会得到一些关于导致死锁的部分的线索。

如果您使用的是eclipse。

  1. 您可以从调试视图暂停调试会话。
  2. 检查当前正在运行的线程
  3. 从线程的堆栈跟踪中,您可以充分了解当前情况。

为了进一步调查,您可以使用 JConsole 来调试死锁。

点这里https://kellicker.wordpress.com/2010/05/03/deadlock-debugging-in-eclipse/

干杯,

索拉夫