请选择 进入手机版 | 继续访问电脑版
  • Lv0
    粉丝0

积分4 / 贡献0

提问2答案被采纳0文章0

[BUG]: 生成的coredump文件,在windows与ubuntu上无法看到完整的堆栈,但是开发板上可以

aprial 显示全部楼层 发表于 2024-2-4 20:14:03

发生了什么问题?

依照Q5.打开CoreDump的方法介绍的方法,使用是最近的ohos-sdk工具, 无法windows与Ubuntu上使用lldb调测foundation的coredump文件。但同样的coredump在开发板上使用lldb可以看到完整的堆栈。

期望行为是什么?

windows与Ubuntu上使用lldb可以正确的调测foundation的coredump文件。

windows(或者Ubuntu)

image.png

开发板(rk3568)

我们也试过其他开发板,表现都一样

<font color="red">这样是不是说明coredump文件本身没有问题, 是windows与Ubuntu的lldb工具有存在问题</font>

image.png

如何复现该缺陷*****

1, 使用ohos-sdk如下

https://cidownload.openharmony.cn/version/Master_Version/OpenHarmony_4.1.6.2/20240109_023243/version-Master_Version-OpenHarmony_4.1.6.2-20240109_023243-ohos-sdk-full_weekly.tar.gz

2, 打开foundation相关的coredump脚本

hdc shell "toybox prlimit -c -H unlimited"
hdc shell "toybox prlimit -c -S unlimited"
hdc shell "toybox prlimit -c -H unlimited -P $(pidof foundation)"
hdc shell "toybox prlimit -c -S unlimited -P $(pidof foundation)"
hdc shell "echo 1 > /proc/sys/kernel/core_uses_pid"
hdc shell "echo 1 > /proc/sys/kernel/print-fatal-signals"
hdc shell "echo 0x33 > /proc/$(pidof foundation)/coredump_filter"
hdc shell "mkdir -p /data/log/coredump; chmod 777 -R /data/log/coredump; echo /data/log/coredump/coredump.%p.bin > /proc/sys/kernel/core_pattern"

3, 生成coredump的命令

echo $(pidof foundation) && kill -SEGV $(pidof foundation)

4, 把coredump保存到windows上。

5,使用windows(或者Ubuntu)上对应版本的lldb查看堆栈。

lldb -c <coredump_file> <unstriped_file>
bt
p <var>
f <frame_no>

image.png

  1. 在开发板上

image.png

版本或分支信息

  • master

  • release 4.0

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论1

论坛小助手 官方账号

沙发 发表于 2024-2-22 14:11:57
使用lldb进行调测coredump文件时,需要和设备进行远程连接。
解决步骤:
1. 将生成的coredump文件,保存到windows或ubuntu上
2. 连接OH设备,在OH上启动lldb-server,windows或ubuntu上启动lldb,进行远程连接,详情参考https://gitee.com/openharmony/th ... 9E%E6%8E%A5platform
3. 使用target create -c [coredump file path]调测coredump文件,coredump file path,为步骤1中保存的coredump文件的路径
4. 等待加载完即可进行coredump文件的调测

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部