我想知道如何使用 lldb 调试 Android 应用程序。 我的意思是从控制台而不是通过 Android Studio 使用 lldb。
据我所知,Android Studio 正在这样做:
- 将应用推送到设备
- 启动这个应用
- 将 lldb-server 推送到设备
- 在远程设备上启动 lldb-server
- 转发端口
- 连接到转发给设备的本地端口
我想通过控制台使用 lldb 实现同样的效果。
假设我已经在远程设备上安装了 lldb-server(因为 Android Studio 已经为我做了这件事),我需要做的是从控制台使用 lldb 连接到应用程序吗?
最佳答案
从未尝试过,但也许这会有所帮助:
另外:
- 确保 APK 的 native 库 (lib*.so) 具有调试信息/符号。我在本地拉取 apk,找到 .so 文件,然后检查 binutils nm 实用程序的输出。当您熟悉 .so 文件后,仅检查 .so 文件的大小就足够了。
- 可以通过附加到正在运行的进程/应用程序 (attach) 进行调试,在某些情况下,您需要在应用程序启动时调试应用程序 (run)。
- 在某些调试情况下,手机/模拟器需要 root access(文件操作)
- 如果您设法在 Android Studio 中调试 C++ 库 - 检查 Debug+Console 和 Debug+LLDB 输出选项卡以找到有趣的命令/选项/步骤
- 过程看起来相当复杂和脆弱 - 耐心地武装自己,不要忽视警告,也不要跳过步骤。
关于android - 从控制台使用 lldb 调试 Android 应用程序的 C++ 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53448796/