[发明专利]记录C语言函数调用链的方法及C语言通用日志框架在审
申请号: | 201910413980.0 | 申请日: | 2019-05-17 |
公开(公告)号: | CN110134385A | 公开(公告)日: | 2019-08-16 |
发明(设计)人: | 臧虎;王仁重 | 申请(专利权)人: | 中国农业银行股份有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 赵兴华;王宝筠 |
地址: | 100005 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供记录C语言函数调用链的方法及C语言通用日志框架,以提供精确的异常定位信息。在本发明实施例中,目标函数在向上层调用者返回包含错误码的返回值之前,会查找出所属线程的线程标识(目标线程标识),并将包含错误描述的异常消息插入目标线程标识所对应的消息队列的末尾。这样,在沿函数调用链反向传递过程中,每一涉及的函数都会将相应的异常消息插入目标线程标识所对应的消息队列,这样实现了逐层记录异常信息的异常捕获和记录,能够完整记录异常发生时刻的函数调用链,从而可提供精确的定位信息,显著提高了日志阅读者通过日志定位程序问题的速度和准确性。 | ||
搜索关键词: | 日志 目标线 函数调用 消息队列 异常消息 记录 调用链 错误描述 定位程序 定位信息 目标函数 完整记录 线程标识 异常捕获 异常定位 异常发生 异常信息 通用 返回 错误码 框架本 末尾 线程 调用 上层 查找 传递 阅读 | ||
【主权项】:
1.一种记录C语言函数调用链的方法,其特征在于,基于C语言通用日志框架,所述C语言通用日志框架至少包括缓冲区索引列表和日志消息缓冲区,所述缓冲区索引列表用于存储线程标识,所述日志消息缓冲区用于存储与线程标识对应的消息队列;所述方法包括:在沿函数调用链反向传递过程中,针对目标函数,在所述缓冲区索引列表中查找目标线程的线程标识;其中,所述目标线程为所述目标函数所属的线程,查找出的线程标识为目标线程标识;所述目标函数为所述函数调用链中任一的函数;根据所述目标线程标识,在所述日志消息缓存区中确定所述目标线程对应的消息队列;确定出的消息队列为目标消息队列;将与所述目标函数相关的异常消息作为节点,插入所述目标消息队列的末尾;所述异常消息包括错误描述;在满足输出条件时,输出当前的目标消息队列至日志;所述目标消息队列表征了所述目标线程中发生异常的函数间的函数调用链;所述目标函数向上层调用者返回包含错误码的返回值。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国农业银行股份有限公司,未经中国农业银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910413980.0/,转载请声明来源钻瓜专利网。
- 上一篇:一种直升式的头盔下高空漫游的虚拟现实系统
- 下一篇:一种程序编辑方法和装置