远程调试系统框架

问题描述 投票:1回答:1

我想调试在Android设备上运行的系统框架。

特别是,GpsLocationProvider有时会停止一段时间,我想知道它在做什么。我发现这个类包含一个android.os.Handler,它会发送消息发送给它,以便在线程之间进行通信。有时需要几分钟才能发送消息,并调用Handler.handleMessage。我解释说属于HandlerLooper的线程很忙。

我想附加一个调试器,暂停该线程,看看当前正在执行什么。或者,以某种方式得到该线程的追溯。有没有办法做到这一点?

我尝试使用development/tools/idegen/idegen.sh从源代码树创建一个Android Studio项目,但我不确定如何从那里开始。如果重要,(传统)设备运行Android 6。

我也刚刚发现了debuggerd。我打电话给logcat -s GpsLocationProvider找到相应的PID,并将其提供给debuggerd,无论是否有-b参数。但是,这只是对本机代码的回溯。我没有看到任何Java代码。

android android-source android-debug
1个回答
0
投票

如果我没弄错的话,如果您的AndroidStudio中有相应的Android API版本(通过SDK Manager安装),您可以在设备上安装应用程序的调试版本,然后将断点放在Android的代码中。

这样,您可以暂停组件代码的执行并查看它正在执行的操作。

© www.soinside.com 2019 - 2024. All rights reserved.