NAPI介绍(九) - gdb调试

NAPI介绍(九) - gdb调试

HarmonyOS
2024-06-11 23:04:39
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
day_night

本文主要介绍如何在RK3568上使用gdb调试 native 应用

静态GDB下载

下载对应的gdb,放到开发板的bin目录下:

:: 设置目录可写 
hdc_std shell mount -o rw,remount / 
  
:: 32位 
hdc_std file send  .\gdb-7.10.1-arm6v /bin/gdb 
:: 64位 
hdc_std file send  .\gdb-8.3.1-aarch64-le /bin/gdb 
  
hdc_std shell chmod u+x /bin/gdb 
 
hdc_std shell rm -rf /system/lib/libsystem_filter.z.so 
echo reboot device !!! 
pause

可以通过两种方式调试应用:

  • 启动应用之后,gdb attach已经运行的应用
# 通过bundle name查询应用pid 
  
ps -ef | grep 'ohos.example.myapplication' 
  
# gdb 挂载对应的进程 
  
gdb attach PID 
  
# 加载完成之后, 按c应用继续运行程序 
c
  • 启动应用调试

所有应用的父进程都是 appspawn, 通过attach到父进程上,然后通过设置 set follow-fork-mode child,来调试子进程

# 查询 appspawn的进程号 
ps -ef | grep 'appspawn' 
  
gdb attach PID 
  
# 设置gdb在fork之后,调试子进程 
set follow-fork-mode child 
  
# 按c 继续程序 
c 
  
# 桌面上点击图标,启动应用

FAQ

  • 打印当前线程的堆栈:bt
  • 打印所有线程堆栈:thread apply all bt
  • gdb日志导出:
  # 日志输出到 /data/gdb.log 
·         set logging file /data/gdb.log 
·         set logging on
分享
微博
QQ
微信
回复
2024-06-12 23:01:45
相关问题
如何使用gdb调试native应用
331浏览 • 1回复 待解决
如何在HarmonyOS 进行GDB调试?
797浏览 • 1回复 待解决
图片边框borderImage介绍
537浏览 • 1回复 待解决
宫格图片都有哪些布局?
382浏览 • 1回复 待解决
应用文件分享功能介绍
522浏览 • 0回复 待解决
ArkTS层实例化与单例介绍
659浏览 • 1回复 待解决
用什么组件可以去制作宫图密码锁
661浏览 • 1回复 待解决
NAPI中定义并注册Class
348浏览 • 1回复 待解决
napi 基本使用场景示例
467浏览 • 1回复 待解决
Native如何通过napi获取ArrayBuffer?
1990浏览 • 1回复 待解决
napi常见用法:class对象绑定
463浏览 • 1回复 待解决
"NAPI通信耗时长"导致丢帧分析
185浏览 • 1回复 待解决
undefined symbol napi_create_threadsafe_function
2847浏览 • 1回复 待解决
为什么禁止缓存napi_env
608浏览 • 1回复 待解决
通过configuration配置调试so
383浏览 • 1回复 待解决