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
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

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

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

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

# 查询 appspawn的进程号 
ps -ef | grep 'appspawn' 
  
gdb attach PID 
  
# 设置gdb在fork之后,调试子进程 
set follow-fork-mode child 
  
# 按c 继续程序 
c 
  
# 桌面上点击图标,启动应用
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

FAQ

  • 打印当前线程的堆栈:bt
  • 打印所有线程堆栈:thread apply all bt
  • gdb日志导出:
  # 日志输出到 /data/gdb.log 
·         set logging file /data/gdb.log 
·         set logging on
  • 1.
  • 2.
  • 3.
分享
微博
QQ
微信
回复
2024-06-12 23:01:45


相关问题
如何使用gdb调试native应用
1199浏览 • 1回复 待解决
如何在HarmonyOS 进行GDB调试?
2369浏览 • 1回复 待解决
HarmonyOS @style详细介绍
1117浏览 • 1回复 待解决
图片边框borderImage介绍
1576浏览 • 1回复 待解决
宫格图片都有哪些布局?
1474浏览 • 1回复 待解决
HarmonyOS 地图和定位介绍
632浏览 • 1回复 待解决
HarmonyOS 介绍内存管理的文档
500浏览 • 1回复 待解决
应用文件分享功能介绍
2155浏览 • 0回复 待解决
HarmonyOS 混淆能力有详细的介绍
455浏览 • 1回复 待解决
ArkTS层实例化与单例介绍
3884浏览 • 1回复 待解决
用什么组件可以去制作宫图密码锁
2056浏览 • 1回复 待解决
HarmonyOS Napi的问题
460浏览 • 1回复 待解决
NAPI开发问题
496浏览 • 1回复 待解决