通过configuration配置调试本地源码无法编译的so
要调试的三方源码so:libnativelib1.so
源码文件:calculator2.cpp
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
通过configuration配置调试so
641浏览 • 1回复 待解决
支持调试本地源码无法编译的so
648浏览 • 1回复 待解决
在Camkelist配置so后,编译报错
619浏览 • 1回复 待解决
OpenHarmony dcts无法编译通过
3342浏览 • 0回复 待解决
如何调试引用的外部so
701浏览 • 1回复 待解决
native如何通过命令行编译成so?
2363浏览 • 1回复 待解决
C++编译与调试,如何将源码文件挂接到IDE上进行开发和调试呢?
539浏览 • 1回复 待解决
单步调试HSP中的CPP源码
643浏览 • 1回复 待解决
如何配置模块源码路径
591浏览 • 1回复 待解决
如何通过hdc shell执行本地编译的可执行程序
1150浏览 • 1回复 待解决
HarmonyOS 使用gn编译Skia编译出的so
309浏览 • 1回复 待解决
HarmonyOS 如何本地调试Sqlite
538浏览 • 1回复 待解决
如何引用其他工程编译的so
236浏览 • 0回复 待解决
har包集成怎么配置so的架构
258浏览 • 1回复 待解决
如何配置本地的工程机?
5364浏览 • 1回复 已解决
源码编译过程中遇到ffmpeg相关的编译失败问题,怎么破?
13659浏览 • 1回复 待解决
idea编译spark源码遇到的问题有知道的吗?
2302浏览 • 1回复 待解决
release包无法本地安装,但是打的本地的hap release版本,可以通过hdc install 命令安装的
2186浏览 • 1回复 待解决
Native so 编译 opencv,报找不到 libunwind.so
728浏览 • 1回复 待解决
如何编译鸿蒙使用的libcurl.so?
825浏览 • 1回复 待解决
HarmonyOS 无法通过hiprofiler -c指定配置文件采集trace
300浏览 • 1回复 待解决
如何编译底层的so有懂的吗?
2311浏览 • 1回复 待解决
如何减小编译产物so大小
343浏览 • 1回复 待解决
openharmony源码编译报错importerror:cannot import name
8564浏览 • 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执行到下一个断点;