【问题标题】:Debugging C++ code of an Android App using lldb from the console从控制台使用 lldb 调试 Android 应用程序的 C++ 代码
【发布时间】:2019-04-26 04:34:27
【问题描述】:

我想知道如何使用 lldb 调试 Android 应用程序。 我的意思是从控制台而不是通过 Android Studio 使用 lldb。

据我所知,Android Studio 正在这样做:

  1. 将应用推送到设备
  2. 启动此应用
  3. 将 lldb-server 推送到设备
  4. 在远程设备上启动 lldb-server
  5. 转发端口
  6. 连接到转发到设备的本地端口

我想通过控制台使用 lldb 来实现同样的目的。

假设我已经在远程设备上安装了 lldb-server(因为 Android Studio 已经为我做了这个),我需要做的是从控制台使用 lldb 连接到应用程序吗?

【问题讨论】:

    标签: android c++ remote-debugging lldb


    【解决方案1】:

    从未尝试过,但也许这会有所帮助:

    另外:

    • 确保 APK 的本机库 (lib*.so) 具有调试信息/符号。我在本地提取 apk,找到 .so 文件,然后检查 binutils nm 实用程序的输出。当您熟悉 .so 文件后,只需检查 .so 文件的大小就足够了。
    • 可以通过附加到正在运行的进程/应用程序 (attach) 进行调试,在某些情况下,您需要在应用程序启动时调试应用程序 (run)。
    • 在某些调试情况下,手机/模拟器需要root access(文件操作)
    • 如果您设法在 Android Studio 中调试 C++ 库 - 检查 Debug+Console 和 Debug+LLDB 输出选项卡以查找有趣的命令/选项/步骤
    • 该过程看起来相当复杂和脆弱 - 请耐心武装自己,不要忽视警告,也不要跳过步骤。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-05
      • 2016-01-30
      • 2018-07-27
      • 1970-01-01
      • 1970-01-01
      • 2017-04-23
      • 2013-09-15
      • 2017-07-21
      相关资源
      最近更新 更多