前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Component之EDR

Component之EDR

作者头像
Taishan3721
发布2020-04-08 14:41:02
6240
发布2020-04-08 14:41:02
举报
文章被收录于专栏:这里只有VxWorks

EDR,Error Detection and Reporting,Vx6新加的一种调试机制,可以监测、记录系统错误

包含这个组件后,VxWorks就会在内存的最高位置分配一块区域,用于循环记录一些系统日志。而这块区域在系统热重启时,并不会清零。记录的这些日志,可以分为多种事件:内核、中断、进程、等等;还可以分为不同的严重程度:致命或警告等

具体到每条日志,包含了时间、事件类型和严重程度、OS版本、任务信息、进程信息、日志的创建位置等等。如果系统还包含其它一些相应组件,日志里还会包含更多的信息

  • INCLUDE_EXC_SHOW - 异常信息
  • INCLUDE_TASK_SHOW - 寄存器信息
  • INCLUDE_DEBUG - 错误地址附件的汇编指令
  • INCLUDE_DEBUG - 调用栈的信息

要想查看这些日志,不建议直接查看EDR的地址,而是使用函数edrShow()

其它几个函数不太常用,有兴趣可以试试。edrClear()用于清除这些日志,否则当存储区域满了以后,新日志自动覆盖最老的日志

使用者还可以在EDR中添加一些钩子函数,当EDR生成日志会自动调用它们

使用者也可以手动生成日志

写个例子看看效果

使用edrShow()可以看到EDR_USER_WARNING_INJECT()插入的日志,以及任务的函数调用栈

这正是:

新型调试EDR,系统日志开外挂。

多种记录自动加,系统重启也不怕。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 这里只有VxWorks 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档