【问题标题】:Android debug confusionAndroid 调试混乱
【发布时间】:2016-07-28 09:15:02
【问题描述】:

据我所知,调试器的工作是基于linux中的ptrace之类的系统调用,它会阻塞tracee,然后tracer从tracee的内存中获取信息。 这意味着,如果我想在一个android app进程中使用调试器调试主线程,它会阻塞主线程并等待我的操作,这很容易在几秒钟内导致主线程ANR。 所以我很困惑是否真的可以在android应用程序进程中调试主线程以及如何调试?

【问题讨论】:

  • 我还是不明白你的问题。我也很困惑。大声笑

标签: android debugging ptrace


【解决方案1】:

正确,ADP 使用 ptrace 并阻塞主线程,这会导致应用程序在调试模式下稍微变慢。如果你一步一步调试你放置断点的线程将完全停止。 出于一般调试目的,这应该不是问题。应该在运行模式而不是调试模式下测试应用程序运行的流畅程度。

【讨论】:

  • 感谢您的回答。但是如果我不能一步一步调试,那么调试器似乎没有多大价值,因为我可以检查其他信息,只需将 LOG 插入我的代码。
  • 当然,但这会污染你的代码,产生大量控制台日志,之后必须清理这些日志。我想这是个人喜好。除了不必编写日志之外,您还可以查看每个对象的状态以及执行中每个步骤的详细成员。并且它允许您确保方法以正确的顺序执行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-16
  • 1970-01-01
  • 2018-12-14
  • 1970-01-01
相关资源
最近更新 更多