- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于变量跟踪运行时错误现场分析工具
基于变量跟踪运行时错误现场分析工具
摘要:运行时错误是程序动态运行时产生的错误,错误发生后,需要借助传统的调试手段分析错误原因。对于某些异常行为和多线程程序不能再现真实的执行环境,传统的调试分析手段的作用不明显。如果能够捕获程序执行时的变量信息,那么运行时错误现场也会被捕获,进而以此为依据分析错误原因。对此提出基于变量跟踪的运行时错误现场捕获技术,它可以根据用户需求捕获特定变量信息,从而有效提高了变量信息获取的灵活性。以该技术为基础实现了运行时错误现场分析工具(RFST),该工具能够为程序运行时错误分析提供错误现场和辅助分析手段。
关键词:运行时错误现场;调试分析;变量跟踪;自动插桩技术
中图分类号: TP311
文献标志码:A
Abstract: caught A runtime error is generated in the course of the programs dynamic execution. When the error occurred, it needs to use traditional debug tools to analyze the cause of the error.For the real execution environment of some exception and multithread can not be reproduced, the traditional debug analysis means is not obvious. If the variable information can be captured during the program execution, the runtime error site will be caught, which is used as a basis for analysis of the cause of the error. In this paper, the technology of capture runtime error site based on variable tracking was proposed; it can capture specific variable information according to user needs, and effectively improved the flexibility of access to variable information. Based on it, a tool named Runtime Fault Site Analysis (RFST) was implemented, which could be used to analyze error cause and provide error site and aided analysis approach as well.
Key words: runtime error site; debug analysis; variable tracking; automatic instrumentation technology
0引言
随着程序规模和复杂度的提高,程序运行时表现出动态性、不可预测性、潜在运行时错误等诸多特性[1],特别对于程序异常行为和多线程程序更是如此。如果借助传统的调试手段,只有手动进行变量的打印输出、日志输出或者单步调试进行变量的跟踪。随着程序的复杂度的提高,存在以下两个问题:1)在源码基础上进行打印输出或者日志输出,程序不容易维护,产生过多的代码纠缠[2];2)多线程程序由于其动态性,在发现错误后,再次运行不能再现真实的执行环境,无论是printf还是单步调试,不能有效地捕获到程序的错误。
针对以上问题,尽可能希望了解程序运行时的现场行为,捕获程序运行过程中动态信息。根据传统调试手段的经验,变量可以细粒度和直观地体现程序的数据转移行为。目前,在已有的调试工具中只提供了单步调试、断点调试功能,没有变量行为跟踪的功能。因此,本文提出变量跟踪的运行时错误现场捕获技术,希望记录下程序运行时的变量执行轨迹,它能够根据用户的需求进行单变量或者多变量的跟踪,无需用户参与,避免了代码纠缠。另外如果能够捕获程序执行时的变量信息,那么运行时错误现场也会被捕获,变量信息为分析错误原因提供依据和可靠保障。在此基础上,实现一个可视化的工具,它能够在不改变源码的情况下,将变量跟踪功能植入到程序内部。最后以视图的形式呈现变量的执行流。
1基于变量捕获的关键技术
1.1基本原理
获取程序运行过程中的动态信
原创力文档


文档评论(0)