如何使用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

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

  • 启动应用之后,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
  • 启动应用调试

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

# 查询 appspawn的进程号 
ps -ef | grep 'appspawn' 
 
gdb attach PID 
 
# 设置gdb在fork之后,调试子进程 
set follow-fork-mode child 
 
# 按c 继续程序 
c 
 
# 桌面上点击图标,启动应用
分享
微博
QQ
微信
回复
2024-05-29 22:48:35
相关问题
如何在HarmonyOS 进行GDB调试?
1825浏览 • 1回复 待解决
NAPI介绍(九) - gdb调试
520浏览 • 1回复 待解决
如何使用 DevEco Studio 调试鸿蒙应用?
25浏览 • 0回复 待解决
如何使用远程真机调试和运行应用
4998浏览 • 1回复 待解决
native层多进程场景的调试
234浏览 • 1回复 待解决
如何使用发布证书进行调试
317浏览 • 1回复 待解决
如何使用发布证书进行调试
233浏览 • 1回复 待解决
HarmonyOS 如何使用发布证书进行调试
552浏览 • 1回复 待解决
native如何使用类的静态方法
733浏览 • 1回复 待解决
如何使用DevTools工具调试前端页面?
375浏览 • 1回复 待解决
Native如何使用hilog打印出日志信息
2243浏览 • 1回复 待解决
使用Devtools调试webview
112浏览 • 1回复 待解决
native使用fork函数,出现cppcrash
1580浏览 • 1回复 待解决
HarmonyOS Native层获取应用路径的方式
281浏览 • 1回复 待解决
DevEco有没有清理调试应用缓存的功能
3850浏览 • 1回复 待解决
Native工程中如何使用其他三方so库
2142浏览 • 1回复 待解决
ArkTS中如何使用编译出来的Native so库
344浏览 • 1回复 待解决