水木社区手机版
首页
|版面-嵌入式系统(Embedded)|
新版wap站已上线
返回
首页
|
上页
|
2/2
|
转到
主题:[求助]crash 工具
10楼
|
newre
|
2020-06-04 19:21:23
|
只看此ID
gdb, python
【 在 sipangziq 的大作中提到: 】
:
: 我现在有个需求,别的rtos下得trace,arm核。我能拿到trap时寄存器的值,还有当前task里堆栈的内容,也只能拿到这些。我的需求是要用这些解析出调用栈。一个方法是我可以用Trace32的模拟器,填入寄存器和栈的内容,让trace32帮我恢复,填入数据虽然可以脚本化,还是麻烦。
:
: 谁用crash工具分析过coredump?是不是我trap的时候按照一定格式生产一个文件,用crash命令就行,这种coredump转储文件格式怎么定义?有啥好的建议吗?谢谢!
#发自zSMTH@TNY-AL00
--
FROM 117.136.0.*
11楼
|
fenshui
|
2020-06-11 11:46:10
|
只看此ID
crash 工具是redhat 公司开发的,其原理是用了 kexec 和 kdump 机制,在内核oops ,panic 时在最后的内核代码处理系统错误时增加了相应的代码,内核代码编译成了一个elf 格式的文件,在运行时会放在内存的某个地址,在内核出现问题时,就会把这个内存地址的elf 文件写到外设磁盘的文件上,也就是coredump 文件,然后用crash 解析,这个一般需要编译内核时打开debug 选项,还有其它选项,现在android 平台都实现的相应的机制,mtk ,高通有各种实现,,如果只是要看调用栈,寄存机器信息,androdi 都有些简单通用实现,保留内存一段空间,kernel panic 时,把寄存器,需要的信息直接写到保留的内存,系统重新启动时,再在用户空间读取哪块保留的内存中的内容,android 提供的接口好像是 cat /proc/apanic
--
FROM 223.104.3.*
12楼
|
Ylong
|
2020-06-11 23:03:54
|
只看此ID
是不是可以参考sysrq 啊,那玩意能造crash ,也能打印调用栈。不过跨系统移植的话估计工作量有点大。
【 在 sipangziq 的大作中提到: 】
:
: 我现在有个需求,别的rtos下得trace,arm核。我能拿到trap时寄存器的值,还有当前task里堆栈的内容,也只能拿到这些。我的需求是要用这些解析出调用栈。一个方法是我可以用Trace32的模拟器,填入寄存器和栈的内容,让trace32帮我恢复,填入数据虽然可以脚本化,还是麻烦。
:
: 谁用crash工具分析过coredump?是不是我trap的时候按照一定格式生产一个文件,用crash命令就行,这种coredump转储文件格式怎么定义?有啥好的建议吗?谢谢!
#发自zSMTH@RMX1991
--
FROM 221.222.84.*
13楼
|
fyzjsmth
|
2020-06-17 11:56:38
|
只看此ID
几个月前老大还推荐我们看你们的代码,怎么做架构
【 在 ffxz 的大作中提到: 】
:
: 这个好像也和你用的RTOS相关,我们/RT-Thread刚适配了trace32,这样就可以用trace32来分析dump下来的memory数据,从而看到每个任务都分别运行在哪里了
:
: --
: \-
http://www.rt-thread.org
: RT-Thread启动下一代实时操作系统的演化...
发自「今日水木 on iPhone 8」
--
FROM 49.92.142.*
首页
|
上页
|
2/2
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版