如何使用gdb调试native应用

如何使用gdb调试native应用

HarmonyOS
2024-05-28 21:35:00
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
她是猫鳄鱼

静态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.

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

  • 启动应用之后,gdb attach已经运行的应用。

# 通过bundle name查询应用pid 
 
ps -ef | grep 'ohos.example.myapplication' 
 
  -f  会列出完整的应用进程信息: 
字段信息从左到右依次是: 
USER:12=UID, PID, PPID, C, STIME, TTY, TIME, ARGS=CMD 
第二个字段信息就是PID 
 
# gdb 挂载对应的进程 
 
gdb attach PID 
 
# 加载完成之后, 按c应用继续运行程序 
c
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 启动应用调试

所有应用的父进程都是 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.
分享
微博
QQ
微信
回复
2024-05-29 22:48:35


相关问题
如何在HarmonyOS 进行GDB调试?
2369浏览 • 1回复 待解决
NAPI介绍(九) - gdb调试
1132浏览 • 1回复 待解决
HarmonyOS native调试
547浏览 • 1回复 待解决
如何使用 DevEco Studio 调试鸿蒙应用?
756浏览 • 0回复 待解决
如何使用远程真机调试和运行应用
5747浏览 • 1回复 待解决
native层多进程场景的调试
701浏览 • 1回复 待解决
如何使用发布证书进行调试
949浏览 • 1回复 待解决
HarmonyOS 如何使用发布证书进行调试
1525浏览 • 1回复 待解决
如何使用发布证书进行调试
886浏览 • 1回复 待解决
如何使用DevTools工具调试前端页面?
997浏览 • 1回复 待解决
使用Devtools调试webview
680浏览 • 1回复 待解决
native如何使用类的静态方法
1048浏览 • 1回复 待解决
HarmonyOS 开发调试阶段应用升级
671浏览 • 1回复 待解决
HarmonyOS 应用调试安装报9568329
442浏览 • 1回复 待解决
Native如何使用hilog打印出日志信息
2930浏览 • 1回复 待解决