HarmonyOS Next开发学习手册——LLDB高性能调试器

概述

LLDB(Low Level Debugger)是新一代高性能调试器。详细说明参考 LLDB官方文档 。

当前HarmonyOS中的LLDB工具是在 llvm15.0.4 基础上适配演进出来的工具,是HUAWEI DevEco Studio工具中默认的调试器,支持调试C和C++应用。

工具获取

可通过HUAWEI DevEco Studio下载SDK获取LLDB调试工具。

以Windows平台为例,lldb.exe的存放路径为sdk\ HarmonyOS版本 \base\native\llvm\bin。例如“sdk\HarmonyOS-NEXT-DP1\base\native\llvm\bin”。

lldb-server分为user用户工具和root用户工具。适用于user用户的lldb-server是带签名的工具。

路径 说明
sdk[HarmonyOS版本]\openharmony\native\llvm\lib\clang\15.0.4\bin\aarch64-linux-ohos\lldb-server 适用于root镜像aarch64-linux-ohos架构的lldb-server
sdk[HarmonyOS版本]\openharmony\native\llvm\lib\clang\15.0.4\bin\arm-linux-ohos\lldb-server 适用于root镜像arm-linux-ohos架构的lldb-server
sdk[HarmonyOS版本]\openharmony\native\llvm\lib\clang\15.0.4\bin\arm-linux-ohos\lldb-server 适用于root镜像x86_64-linux-ohos架构的lldb-server
sdk[HarmonyOS版本]\hms\native\lldb\aarch64-linux-ohos\lldb-server 适用于user镜像aarch64-linux-ohos架构的lldb-server
sdk[HarmonyOS版本]\hms\native\lldb\arm-linux-ohos\lldb-server 适用于user镜像aarch64-linux-ohos架构的lldb-server
sdk[HarmonyOS版本]\hms\native\lldb\x86_64-linux-ohos\lldb-server 适用于user镜像x86_64-linux-ohos架构的lldb-server

功能列表

此处列举LLDB调试器支持的部分功能,更多命令参考: LLDB工具使用指导 。Windows、Linux x86_64和Mac平台的LLDB工具有些许差异,以实际应用为准。

  • 记录日志
  • 断点管理
  • 观察点管理
  • 表达式处理
  • 查看变量
  • 进程/线程管理
  • 汇编处理
  • 源码信息获取
  • 信号处理
  • 进程启动
  • attach进程

应用场景

  • 本地调试

    • Linux x86_64本地调试。
      LLDB支持在Linux x86_64环境上调试C和C++应用。

    • Mac桌面本地调试。
      LLDB支持在Mac桌面(包括Mac x86_64和M1系统)调试C和C++应用。

  • 远程调试

    • 基于HUAWEI DevEco Studio的远程调试。
      LLDB支持基于HUAWEI DevEco Studio在Windows和Mac桌面连接HarmonyOS设备或模拟器远程调试Native C++应用,即使用HUAWEI DevEco Studio的Debug调试功能。

    • 桌面连接HarmonyOS设备远程调试。
      HarmonyOS设备为root镜像,SELinux关闭:LLDB支持在Windows、Mac桌面和Linux x86_64环境直连HarmonyOS设备远程调试C和C++应用以及可执行二进制。
      HarmonyOS设备为root镜像,SELinux开启:LLDB支持在Windows、Mac桌面和Linux x86_6

### HarmonyOS Next 真机调试教程 #### 准备工作 在进行HarmonyOS Next的真机调试之前,需要完成一系列准备工作。这包括安装并配置好开发环境DevEco Studio,并确保目标设备已正确连接至电脑。此外,还需要确认设备上的开发者模式已经开启[^1]。 #### 配置Build Profile 为了使项目能够适配HarmonyOS Next平台,在开始调试前需调整`build-profile.json5`文件设置。具体操作是从现有DevEco-Studio项目的根目录下找到该文件,并将其内容复制粘贴到UniApp项目中的对应路径`harmony-configs/build-profile.json5`位置[^3]。此步骤有助于统一构建参数,从而减少因配置差异引发的问题。 #### 连接与验证设备 通过命令行工具hdc来管理物理设备链接状态。如果遇到签名错误提示如`Signature did not verify`或者更新不兼容警告`INSTALL_FAILED_UPDATE_INCOMPATIBLE`等问题,则可能是因为APK包名冲突或是证书链不符所致[^4]。此时建议重新生成新的keystore文件用于打包签署过程。 #### 使用LLDB进行高级调试 对于涉及底层C/C++代码的应用程序来说,可以利用LLDB作为强大的断点跟踪手段来进行深入分析。借助于HUAWEI DevEco Studio内置的支持能力,无论是Windows还是macOS环境下都能轻松实现对远端硬件资源的有效控制和数据交换监控[^2]。 以下是简单的Python脚本示例展示如何自动化部分上述提到的手动任务: ```python import os from subprocess import run, PIPE def check_device_connection(): result = run(['hdc', 'list', 'targets'], stdout=PIPE) devices = result.stdout.decode('utf-8').strip().split('\n') if len(devices) == 0 or (len(devices)==1 and ""==devices[0]): raise Exception("No device connected.") try: check_device_connection() except Exception as e: print(e) # Example command to handle installation failure due to incompatible signatures. os.system("keytool -genkeypair -alias myKeyAlias -keyalg RSA -validity 365 -keystore myKeystore.jks") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值