通过configuration配置调试本地源码无法编译的so
要调试的三方源码so:libnativelib1.so
源码文件:calculator2.cpp
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
通过configuration配置调试so
738浏览 • 1回复 待解决
支持调试本地源码无法编译的so
705浏览 • 1回复 待解决
Native Module依赖怎么配置且支持源码调试?
170浏览 • 1回复 待解决
在Camkelist配置so后,编译报错
709浏览 • 1回复 待解决
OpenHarmony dcts无法编译通过
3457浏览 • 0回复 待解决
如何调试引用的外部so
781浏览 • 1回复 待解决
native如何通过命令行编译成so?
2505浏览 • 1回复 待解决
C++编译与调试,如何将源码文件挂接到IDE上进行开发和调试呢?
608浏览 • 1回复 待解决
单步调试HSP中的CPP源码
710浏览 • 1回复 待解决
如何通过hdc shell执行本地编译的可执行程序
1283浏览 • 1回复 待解决
HarmonyOS 使用gn编译Skia编译出的so
478浏览 • 1回复 待解决
如何配置模块源码路径
792浏览 • 1回复 待解决
HarmonyOS 如何本地调试Sqlite
674浏览 • 1回复 待解决
如何引用其他工程编译的so
349浏览 • 0回复 待解决
源码编译过程中遇到ffmpeg相关的编译失败问题,怎么破?
13807浏览 • 1回复 待解决
release包无法本地安装,但是打的本地的hap release版本,可以通过hdc install 命令安装的
2295浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过配置so压缩选项减少应用包大小?
97浏览 • 1回复 待解决
Native so 编译 opencv,报找不到 libunwind.so
907浏览 • 1回复 待解决
idea编译spark源码遇到的问题有知道的吗?
2359浏览 • 1回复 待解决
har包集成怎么配置so的架构
381浏览 • 1回复 待解决
如何配置本地的工程机?
5443浏览 • 1回复 已解决
如何编译鸿蒙使用的libcurl.so?
932浏览 • 1回复 待解决
是否有预编译的 OpenSSL 的 so 文件?
130浏览 • 1回复 待解决
如何编译底层的so有懂的吗?
2367浏览 • 1回复 待解决
本地环境构造
要调试的三方源码so:libnativelib1.so
源码文件:calculator2.cpp
1、通过调用llvm工具分析so中源码路径
执行
cd D:\sdk\harmony\10\native\llvm\bin
llvm-objdump.exe -lS D:\ceshi\tiaoshi\demo\so_lib\libnativelib1.so
查看结果有 D:/CppStepInto/nativelib1/src/main/cpp/calculator1.cpp
(mac:
cd /Users/ceshi/Library/Huawei/Sdk/single/harmony/openharmony/10/native/llvm/bin/
./llvm-objdump -lS /Users/ceshi/DevEcoStudioProjects/lib_so/maclib/libnativelib1.so
查看结果有:
/Users/ide-debug/Desktop/devecos/20230818/400412/solibA/library/src/main/cpp/hello.cpp
配置LLDB Startup Commands:
entry-configration-debugger-选择native only或native+js-LLDB Startup Commands:
settings insert-before target.source-map 0 "/Users/ide-debug/Desktop/devecos/20230818/400412/solibA/library/src/main/cpp/hello.cpp" "/Users/ceshi/DevEcoStudioProjects/lib_so/calculator2.cpp"
配置Symbol Directories:
/Users/ceshi/DevEcoStudioProjects/lib_so
)
2、配置映射
a、增加so中源码路径与本地代码映射关系 打开configuration->Debugger->LLDB Startup Commands,配置:
settings insert-before target.source-map 0 [二进制中的源码路径] [本地代码路径]
如:settings insert-before target.source-map 0 "D:/diaoyan/CppStepInto/nativelib1/src/main/cpp/calculator1.cpp" "D:/ceshi/tiaoshi/demo/so_lib/calculator2.cpp"
b、切到Symbol Directories,配置calculator2.cpp路径:
D:/ceshi/demo/so_lib
3、将calculator2.cpp拖到demo4中打开,并在相关行打多个断点
4、命令安装并拉起entry-default-signed.hap(即run拉起demo3)
hdc install entry-default-signed.hap
hdc shell aa start -a EntryAbility -b com.example.demo3
5、demo4 工程在entry的build-profile.json5下设置编译选项,"abiFilters" : ["arm64-v8a"],选中entry,Bulid Hap(s)编译,签名,点击attach,勾选Show all processes,选择com.example.demo3进程,OK;
设备上触发调用关系,进入calculator2.cpp断点;点Step Over执行到下一行、点Resume Program执行到下一个断点;