核心转储
核心转储模块允许转储CPU寄存器和内存内容以进行脱机调试。当遇到致命错误时,将调用此模块,并根据启用的后端打印或存储数据。
配置
使用以下选项配置此模块。
DEBUG_COREDUMP:启用该模块。
以下是启用核心转储的输出后端的选项:
DEBUG_COREDUMP_BACKEND_LOGGING:使用日志模块进行核心转储输出。DEBUG_COREDUMP_BACKEND_NULL:如果无法启用其他后端,则为回退核心转储后端。所有的输出都被发送到null。
以下是有关内存转储的一些选择:
DEBUG_COREDUMP_MEMORY_DUMP_MIN:只转储异常线程的堆栈、它的线程结构和其他一些裸露的最小数据,以支持在调试器中行走堆栈。仅在需要数据转储的绝对最小值时才使用此选项。
其他内存可以通过一个或多个核心转储设备包含在转储中(即使选择了“DEBUG_COREDUMP_MEMORY_DUMP_MIN”配置)
用法
当启用核心转储模块时,在出现致命错误时,CPU寄存器和存储器内容会被打印或存储。这个核心转储数据可以作为GDB(和其他与GDB兼容的调试器)的远程目标输入到定制的GDB服务器中。可以在调试器中检查CPU寄存器、内存内容和堆栈。
<
本文介绍了Zephyr操作系统中的核心转储功能,用于在遇到致命错误时记录CPU寄存器和内存内容,便于进行离线调试。内容涵盖了核心转储的配置、用法、文件格式,并提供了具体的调试步骤示例,帮助开发者理解和利用核心转储进行问题排查。
订阅专栏 解锁全文
539

被折叠的 条评论
为什么被折叠?



