兰州网站制作成都,网站可以做砍价软件吗,建大型门户网站,网站建设哪里最好概述
LLDB#xff08;Low Level Debugger#xff09;是新一代高性能调试器。
当前HarmonyOS中的LLDB工具是在[llvm15.0.4]基础上适配演进出来的工具#xff0c;是HUAWEI DevEco Studio工具中默认的调试器#xff0c;支持调试C和C应用。
工具获取
可通过HUAWEI DevEco S…概述
LLDBLow Level Debugger是新一代高性能调试器。
当前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-serversdk[HarmonyOS版本]\openharmony\native\llvm\lib\clang\15.0.4\bin\arm-linux-ohos\lldb-server适用于root镜像arm-linux-ohos架构的lldb-serversdk[HarmonyOS版本]\openharmony\native\llvm\lib\clang\15.0.4\bin\arm-linux-ohos\lldb-server适用于root镜像x86_64-linux-ohos架构的lldb-serversdk[HarmonyOS版本]\hms\native\lldb\aarch64-linux-ohos\lldb-server适用于user镜像aarch64-linux-ohos架构的lldb-serversdk[HarmonyOS版本]\hms\native\lldb\arm-linux-ohos\lldb-server适用于user镜像aarch64-linux-ohos架构的lldb-serversdk[HarmonyOS版本]\hms\native\lldb\x86_64-linux-ohos\lldb-server适用于user镜像x86_64-linux-ohos架构的lldb-server
功能列表
此处列举LLDB调试器支持的部分功能更多命令参考[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_64环境直连HarmonyOS设备远程调试C和C应用以及可执行二进制但是lldb-server和要调试的应用或可执行二进制只能放在/data/local/tmp/debugserver目录内。 HarmonyOS设备是user镜像SELinux开启LLDB支持在Windows、Mac桌面和Linux x86_64环境直连HarmonyOS设备远程调试基于HUAWEI DevEco Studio编译的带签名的debug版本的hap包目前仅支持此类调试。 说明 root镜像使用hdc shell id命令查询到“uid0(root)”或执行hdc shell进入交互命令环境提示符为“#”。 user镜像使用hdc shell id命令查询到“uid2000(shell)”或执行hdc shell进入交互命令环境提示符为“$”。 SELinux开启模式使用hdc shell getenforce命令查询到“Enforcing”。 SELinux关闭模式使用hdc shell getenforce命令查询到“Permissive”。
使用指导-本地调试
说明
Linux x86_64或Mac本地调试步骤一致。
使用LLDB工具启动应用并进行调试
此处以在Linux x86_64环境调试一个使用clang编译器生成的带有调试信息的可执行文件a.out为例。
源文件hello.cpp
#include iostream
using namespace std;
int main() {cout hello world! endl;return 0;
}编译
clang distribution/bin/clang -g hello.cpp -o a.out获取到与LLDB同一版本的clang编译器生成的带有调试信息的可执行文件a.out。 运行LLDB工具并指定要调试的文件为a.out。 ./lldb a.out在代码中main函数处设置断点。 (lldb) b main运行应用使其停在断点处。 (lldb) run继续运行应用。 (lldb) continue列出所有断点。 (lldb) breakpoint list显示当前帧的参数和局部变量。 (lldb) frame variable按需执行调试命令进行后续调试操作。 退出调试。 (lldb) quit使用LLDB工具调试已经启动的应用
此处以在Mac环境调试一个使用clang编译器生成的带有调试信息和用户输入的可执行文件a.out为例。
源文件hello.cpp
#include iostream
using namespace std;int main() {int i 0, j 5, sum 0;cout Please input a number of type int” endl;cin i;cout i;sum i j;cout sum endl;return 0;
}编译
clang distribution/bin/clang -g hello.cpp -o a.out在终端窗口1启动应用。窗口会返回一条信息“Please input a number of type int” ./a.out在终端窗口2运行LLDB工具。 ./lldbattach应用。 (lldb) process attach --name a.out在hello.cpp的第10行设置断点。 (lldb) breakpoint set --file hello.cpp --line 10在终端窗口1输入一个int类型的数。 88在终端行窗口2继续运行应用使应用停在断点处。 (lldb) continue按需执行调试命令进行后续调试操作。 detach应用。 (lldb) detach退出调试。 (lldb) quit说明
步骤[attach应用]和[设置断点]可以调换顺序执行。
使用指导-远程调试
说明
基于HUAWEI DevEco Studio的远程调试参考[官方调试指导]远程调试时需要lldb-server和lldb配合使用。注意根据设备镜像选择user或root版的lldb-server。WindowsLinux x86_64和Mac远程调试步骤一致。
Windows平台连接aarch64-linux-ohos架构root镜像SELinux关闭的Harmony设备进行远程调试
源文件hello.cpp
#include iostream
using namespace std;
int main() {cout hello world! endl;return 0;
}编译
clang distribution/bin/clang --targetaarch64-linux-ohos --sysrootsysroot distribution -g hello.cpp -o a.out打开命令行窗口1将lldb-server和可执行文件a.out推送到设备。
hdc file send lldb-server /data/local/tmp
hdc file send a.out /data/local/tmp
hdc shell chmod 755 /data/local/tmp/lldb-server /data/local/tmp/a.out运行lldb-server。(8080为有效且当前未被占用的端口号用户可自定义 hdc shell ./data/local/tmp/lldb-server p --server --listen *:8080打开命令行窗口2运行二进制文件lldb。 lldb在LLDB命令行窗口进行远端选择与连接。 (lldb) platform select remote-ohos
(lldb) platform connect connect://localhost:8080 指定要调试的设备上的二进制文件a.out。 (lldb) target create /data/local/tmp/a.out在代码中main函数处设置断点。 (lldb) b main启动应用。 (lldb) run查看当前目标进程的源码。 (lldb) source list按需执行调试命令进行后续调试操作。 退出调试。 (lldb) quitWindows平台连接aarch64-linux-ohos架构user镜像SELinux开启的HarmonyOS设备进行远程调试
说明
调试过程中需保持设备在非锁屏状态锁屏不允许启动调试器调试。基于HUAWEI DevEco Studio调试user镜像SELinux开启的HarmonyOS设备的hap包。
FAQ
当在lldb命令行窗口执行run返回信息为“error‘A’ packet returned an error: 8”或类似信息则意味着不允许调试器启动用于调试的进程一般都是因为没有权限导致的请确认调试设备是否限制调试。 运行lldb-server报错“Permission denied”。一般是lldb-server无可执行文件导致的添加权限即可。
最后呢
很多开发朋友不知道需要学习那些鸿蒙技术鸿蒙开发岗位需要掌握那些核心技术点为此鸿蒙的开发学习必须要系统性的进行。
而网上有关鸿蒙的开发资料非常的少假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料少走很多弯路节省没必要的麻烦。由两位前阿里高级研发工程师联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档》里面内容包含了ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等鸿蒙Harmony NEXT技术知识点
如果你是一名Android、Java、前端等等开发人员想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。 针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说我们直接看详细鸿蒙OpenHarmony 手册共计1236页与鸿蒙OpenHarmony 开发入门视频帮助大家在技术的道路上更进一步。
《鸿蒙 (OpenHarmony)开发学习视频》《鸿蒙生态应用开发V2.0白皮书》《鸿蒙 (OpenHarmony)开发基础到实战手册》OpenHarmony北向、南向开发环境搭建《鸿蒙开发基础》《鸿蒙开发进阶》《鸿蒙开发实战》 总结
鸿蒙—作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程从而开设鸿蒙课程企业纷纷跟进启动了鸿蒙研发。
并且鸿蒙是完全具备无与伦比的机遇和潜力的预计到年底将有 5,000 款的应用完成原生鸿蒙开发未来将会支持 50 万款的应用。那么这么多的应用需要开发也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长学习鸿蒙势在必行 自↓↓↓拿