System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种分布式应用程序的调试数据的获取方法技术_技高网

一种分布式应用程序的调试数据的获取方法技术

技术编号:44564273 阅读:3 留言:0更新日期:2025-03-11 14:23
本发明专利技术实施例公开一种分布式应用程序的调试数据的获取方法。该方法包括:在待调试应用程序中需要捕获调试信息的位置调用捕获信息接口,编译和链接得到整编后的待调试应用程序;利用运行容器组件配置整编后的待调试应用程序,利用运行容器组件加载和启动整编后的待调试应用程序,利用运行容器组件加载整编后的待调试应用程序的调试信息或调试文件;当整编后的待调试应用程序运行到需要捕获调试信息的位置时利用调试锚点组件产生中断,利用运行容器组件响应中断,利用调试器定位中断的地址信息,根据地址信息获取当前语句的上下文的全部局部变量和全部全局变量进行编码,利用运行容器组件将编码的信息输出;在结束中断后,运行容器组件恢复运行。

【技术实现步骤摘要】

本专利技术涉及分布式应用程序领域。更具体地,涉及一种分布式应用程序的调试数据的获取方法


技术介绍

1、随着科技的不断进步,特别是计算机科学技术的飞速发展,计算机软件或系统已渗透到了社会的各个角落,成为国民经济、国防和社会日常生活中必不可少的重要组成部分。在此过程中,计算机应用呈现出体系结构越来越复杂、系统规模越来越庞大、任务程度越来越复杂的态势,由此导致了软件潜在的漏洞越来越难以捕捉。软件错误直接造成软件或系统失效的比率持续递增,软件的质量问题日益成为人们关注的焦点,因此提高计算机软件或系统的软件可靠性尤为重要。

2、软件或系统的故障或者错误不同于硬件产品,软件不存在机械磨损和老化问题,如果发生故障,无一例外的是在其设计和开发过程中留有隐患,所以在软件使用的早期,故障率是比较大的,但随着时间的推移和错误的改正,软件中潜在的错误越来越少。从整个产品的生命周期角度来看,在度过稳定期后,其故障率会长期保持在一个较低的水平,即软件不会被“用坏”。缺陷是物品的固有属性,软件也不例外。软件的错误个数与程序员的个人能力有关,优秀成员,每千行代码平均有1个到2个错误;普通程序员,每千行代码平均有3个到5个错误。因此软件调试技术是提高软件可靠性最直接的方法。

3、分布式应用程序由于天然的分布式属性,使得调试信息在获取、收集和查验上存在一定的局限性,给本就复杂的调试工作增加难度。分布式软件已经成为一种常见的软件形态,分布式软件的开发、调试、甚至后期的软件维护,皆需要强有力的手段支持。分布式软件或系统,相较于传统软件,具有其自身特点,包括但不限于,软件交互依赖网络,即此类软件依赖网络环境运行,导致调试环境相对苛刻;软件不独立,即软件依赖其他软件协同运行,导致软件调试过程复杂;软件交互数据分散,导致分析数据片段化不连贯。此外,分布式软件或系统的调试中,经常出现一人同时面对多台计算机的情况。一般情况下,通过分布式收集和集中查验的方法能够解决“一人多台”的困难场景。但是,受限于收集信息的完整性,使得集中查验很难掌握全面的调试信息,快速得出分析结论。

4、综上所述,亟需解决分布式软件多节点运行期间的调试信息完整捕获问题,以及从信息获取端优化解决分布式软件调试问题。


技术实现思路

1、本专利技术的目的在于提供一种分布式应用程序的调试数据的获取方法,以解决现有技术存在的问题中的至少一个。

2、为达到上述目的,本专利技术采用下述技术方案:

3、本专利技术第一方面提供了一种分布式应用程序的调试数据的获取方法,包括

4、在待调试应用程序中需要捕获调试信息的位置调用调试锚点组件的捕获信息接口,并编译和链接所述调试锚点组件得到整编后的待调试应用程序;

5、利用运行容器组件配置所述整编后的待调试应用程序的运行依赖环境、启动参数和初始化文件,并利用所述运行容器组件加载和启动所述整编后的待调试应用程序,并利用所述运行容器组件加载所述整编后的待调试应用程序的调试信息或调试文件,并运行所述运行容器组件和所述整编后的待调试应用程序;

6、当所述整编后的待调试应用程序运行到所述需要捕获调试信息的位置时利用所述调试锚点组件产生中断,并利用所述运行容器组件响应所述中断,并利用所述整编后的待调试应用程序的调试器定位所述中断的地址信息,并利用所述运行容器组件根据所述地址信息获取当前语句的上下文的全部局部变量和全部全局变量,并利用所述运行容器组件根据所述全部局部变量和所述全部全局变量进行编码,并利用所述运行容器组件将所述编码的信息输出至收集调试信息和集中校验的应用程序;

7、在结束所述中断后,所述运行容器组件恢复运行并继续执行所述整编后的待调试应用程序。

8、可选地,所述在待调试应用程序中需要捕获调试信息的位置调用调试锚点组件的捕获信息接口包括

9、在待调试应用程序中需要捕获调试信息的位置调用调试锚点组件的用户接口模块提供的捕获信息接口。

10、可选地,所述利用运行容器组件配置所述整编后的待调试应用程序的运行依赖环境、启动参数和初始化文件包括

11、利用运行容器组件的应用环境配置模块配置所述整编后的待调试应用程序的运行依赖环境、启动参数和初始化文件。

12、可选地,所述利用所述运行容器组件加载和启动所述整编后的待调试应用程序,并利用所述运行容器组件加载所述整编后的待调试应用程序的调试信息或调试文件包括

13、利用所述运行容器组件的锚点加载模块加载和启动所述整编后的待调试应用程序;

14、利用所述运行容器组件的锚点加载模块加载所述整编后的待调试应用程序的调试信息或调试文件。

15、可选地,所述当所述整编后的待调试应用程序运行到所述需要捕获调试信息的位置时利用所述调试锚点组件产生中断包括

16、当所述整编后的待调试应用程序运行到所述需要捕获调试信息的位置时利用所述调试锚点组件的中断管理模块产生中断。

17、可选地,所述利用所述运行容器组件响应所述中断,并利用所述整编后的待调试应用程序的调试器定位所述中断的地址信息包括

18、利用所述运行容器组件的中断响应模块响应所述中断;

19、利用所述运行容器组件的中断响应模块根据所述整编后的待调试应用程序的调试器定位所述中断的地址信息。

20、可选地,所述利用所述运行容器组件根据所述地址信息获取当前语句的上下文的全部局部变量和全部全局变量包括

21、利用所述运行容器组件的调试信息获取模块根据所述地址信息获取当前语句的上下文的全部局部变量和全部全局变量。

22、可选地,所述利用所述运行容器组件根据所述全部局部变量和所述全部全局变量进行编码包括

23、利用所述运行容器组件的信息编码模块根据所述全部局部变量和所述全部全局变量进行编码。

24、可选地,所述利用所述运行容器组件将所述编码的信息输出至收集调试信息和集中校验的应用程序包括

25、利用所述运行容器组件的信息输出模块将所述编码的信息输出至收集调试信息和集中校验的应用程序。

26、可选地,所述在结束所述中断后,所述运行容器组件恢复运行并继续执行所述整编后的待调试应用程序包括

27、利用所述运行容器组件的中断响应模块结束所述中断后,所述运行容器组件恢复运行并继续执行所述整编后的待调试应用程序。

28、本专利技术的有益效果如下:

29、本专利技术所述技术方案,提出了在分布式收集和集中查验的一般调试方法中单个分布式节点的调试数据信息获取方法;在多个分布式软件协同运行情况下,该方法可以有效收集全集化的调试信息,使得用户在面对“一人多台”的困难调试场景时,能够有效将调试信息集中在一处,掌握全局信息;该方法获得的调试数据,为用户提供了分析行为错误、内容错误和逻辑交互耦合错误等错误的诊断依据;该方法通过合理的锚点布局,在一定程度上为表达全局性的分布式软件交互协同过程本文档来自技高网...

【技术保护点】

1.一种分布式应用程序的调试数据的获取方法,其特征在于,包括

2.根据权利要求1所述的分布式应用程序的调试数据的获取方法,其特征在于,

3.根据权利要求1所述的分布式应用程序的调试数据的获取方法,其特征在于,

4.根据权利要求1所述的分布式应用程序的调试数据的获取方法,其特征在于,

5.根据权利要求1所述的分布式应用程序的调试数据的获取方法,其特征在于,

6.根据权利要求1所述的分布式应用程序的调试数据的获取方法,其特征在于,

7.根据权利要求1所述的分布式应用程序的调试数据的获取方法,其特征在于,

8.根据权利要求1所述的分布式应用程序的调试数据的获取方法,其特征在于,

9.根据权利要求1所述的分布式应用程序的调试数据的获取方法,其特征在于,

10.根据权利要求1所述的分布式应用程序的调试数据的获取方法,其特征在于,

【技术特征摘要】

1.一种分布式应用程序的调试数据的获取方法,其特征在于,包括

2.根据权利要求1所述的分布式应用程序的调试数据的获取方法,其特征在于,

3.根据权利要求1所述的分布式应用程序的调试数据的获取方法,其特征在于,

4.根据权利要求1所述的分布式应用程序的调试数据的获取方法,其特征在于,

5.根据权利要求1所述的分布式应用程序的调试数据的获取方法,其特征在于,

...

【专利技术属性】
技术研发人员:谢宝娣卿杜政董国宝刘晨李亚雯王华扬李伟夫
申请(专利权)人:北京仿真中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1