OpenHarmony开发者论坛
标题:
[BUG]: 生成的coredump文件,在windows与ubuntu上无法看到完整的堆栈,但是开发板上可以
[打印本页]
作者:
aprial
时间:
2024-2-4 20:14
标题:
[BUG]: 生成的coredump文件,在windows与ubuntu上无法看到完整的堆栈,但是开发板上可以
[md]# 发生了什么问题?
依照[Q5.打开CoreDump的方法](
https://gitee.com/openharmony/hi ... lease/docs/usage.md
)介绍的方法,使用是最近的ohos-sdk工具, 无法windows与Ubuntu上使用lldb调测foundation的coredump文件。但同样的coredump在开发板上使用lldb可以看到完整的堆栈。
# 期望行为是什么?
windows与Ubuntu上使用lldb可以正确的调测foundation的coredump文件。
## windows(或者Ubuntu)
![image.png](
https://forums-obs.openharmony.c ... tmdlhls1sr1tdm1.png
"image.png")
## 开发板(rk3568)
**我们也试过其他开发板,表现都一样**
<font color="red">这样是不是说明coredump文件本身没有问题, 是windows与Ubuntu的lldb工具有存在问题</font>
![image.png](
https://forums-obs.openharmony.c ... dbo9y8e9blx4eo4.png
"image.png")
# 如何复现该缺陷\*\*\*\*\*
1, 使用ohos-sdk如下
```
https://cidownload.openharmony.c ... -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](
https://forums-obs.openharmony.c ... gcwcwa1ksxkez2k.png
"image.png")
6. 在开发板上
![image.png](
https://forums-obs.openharmony.c ... t9l3d1idcbeebsr.png
"image.png")
**版本或分支信息**
- master
- release 4.0
[/md]
作者:
论坛小助手
时间:
2024-2-22 14:11
使用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文件的调测
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5