Qnx coredump解析
coredump文件
Qnx运行的程序崩溃时,会生成coredump文件。
默认情况下这些文件默认会保存在/var/log/*.core
文件中。
解析coredump文件,可以帮忙加快分析程序崩溃的原因,比如了解崩溃的堆栈。
通常可以使用gdb
和coreinfo
,帮助分析coredump文件。
coreinfo
coreinfo是QNX提供的一个bin文件,这个bin用来显示CoreDump文件的信息
coreinfo [-ilmstv] file [file ...]
选项:
-i 显示进程信息
-l 显示QNT_LINK_MAP相关信息
-m 显示内存Map(Memeroy Map)
-t 显示线程信息
-v 追加debug信息输出
如果不指定这些选项,默认输出所有信息。
coreinfo官网链接:
https://www.qnx.com/developers/docs/7.1/index.html#com.qnx.doc.neutrino.utilities/topic/c/coreinfo.html
coreinfo默认集成在Qnx的Image中,在Qnx系统终端执行即可。例如
coreinfo /var/log/test.core
输出信息类似如下内容:
包括cpu核信息、MACHINE、HOSTNAME、崩溃进程中线程状态等。这些信息,对了解程序崩溃的状态有些帮忙,但是对具体的问题解析,还是需要利用gdb工具。
processor=ARM AArch64 num_cpus=8
cpu 1 cpu=1091556528 name=*** *** Gold speed=***
flags=0xc0000c7a FPU MMU V6 V7 V7_MP NEON IDIV VFP_D32
cpu 2 cpu=1091556528 name=*** *** Gold speed=***
flags=0xc0000c7a FPU MMU V6 V7 V7_MP NEON IDIV VFP_D32
cpu 3 cpu=1091556528 name=*** *** Gold speed=***
flags=0xc0000c7a FPU MMU V6 V7 V7_MP NEON IDIV VFP_D32
cpu 4 cpu=