基于IDE调试框架的用于CPU程序的调试方法及调试系统技术方案

技术编号:26504555 阅读:41 留言:0更新日期:2020-11-27 15:32
本发明专利技术涉及程序调试技术领域,提供一种基于IDE调试框架的用于CPU程序的调试方法、调试系统以及存储介质。所述调试方法包括:根据CPU程序的调试状态创建与所述调试状态相对应的启动程序;判断所述启动程序的类型,根据所述启动程序的类型确定是否创建调试程序。本发明专利技术基于IDE调试框架改进用于CPU程序的调试方法,对调试的启动程序进行分类,根据启动程序的类型确定是否创建调试程序。在CPU程序处于调试状态时,在用户错误操作或多次点击Debug按钮情况下能够对已创建的调试程序进行保护,使IDE开发环境容错性更好,保证IDE开发环境处于健康状态,大大提升研发效率。

【技术实现步骤摘要】
基于IDE调试框架的用于CPU程序的调试方法及调试系统
本专利技术涉及程序调试
,具体地涉及一种基于IDE调试框架的用于CPU程序的调试方法、一种基于IDE调试框架的用于CPU程序的调试系统以及一种存储介质。
技术介绍
在CPU芯片程序调试阶段,CPU开发工具为芯片调试提供的一套开发工具系统,包括开发工具软件和开发工具硬件。开发工具软件包含集成开发环境(IDE)、编译器(Compiler)、汇编器(ASSembler)、链接器(Linker)、调试器(Debugger)等;开发工具硬件为一套开发板,通过FPGA和一些外围电路对CPU的硬件逻辑进行仿真,配合开发工具软件实现对CPU的调试功能。在CPU软件调试时,研发人员可以操控IDE实现对CPU的调试,整体流程为:IDE开发环境将参数经过动态库解析,下发给USB设备驱动程序,再由设备驱动与硬件进行命令或数据下发,同时设备驱动可以返回设备状态给动态库,并最终把结果传递到IDE界面。由此可见,CPU的开发离不开IDE开发环境,IDE开发环境的优劣严重影响CPU程序调试。常见的CPU集成开发环境(IDE)是在EclipseCDT的基础上集成插件,完成IDE开发环境和芯片的交互,IDE的调试框架也继承了EclipseCDT的调试框架。EclipseCDT原生态的调试框架可以对程序进行多次调试,只要用户点击Debug按钮,原生态的调试框架会一直创建调试程序,即单个程序可以进入多个调试状态,但是在调试CPU时,当CPU处于调试状态,用户通过IDEDebug按钮再次给CPU发起调试指令(或者用户误操作多次点击Debug按钮)会导致芯片进入Error机制,最后反馈结果会传递到IDE开发环境,导致IDE调试模块失效,甚至需重新启动IDE才可使用调试模块。如何在CPU处于调试状态时,保护IDE开发环境的完整性成为在设计IDE开发环境时需要重点考虑的问题。针对保护IDE开发环境的完整性这一问题,现有IDE设计主要是基于用户层面去解决,即用户发起一次CPU调试后不再操作IDE向芯片发送调试指令,必须先关闭CPU调试状态后才可再次发起调试指令。一旦用户发生误操作多次点击Debug按钮,IDE出现崩溃,需要关闭IDE后再重新打开,重复操作Debug步骤,这些重复操作都需要等待时间,严重影响研发效率。
技术实现思路
本专利技术的目的是提供一种基于IDE调试框架的用于CPU程序的调试方法及调试系统,以解决上述的问题。为了实现上述目的,本专利技术一方面提供一种基于IDE调试框架的用于CPU程序的调试方法,所述方法包括:根据CPU程序的调试状态创建与所述调试状态相对应的启动程序;判断所述启动程序的类型,根据所述启动程序的类型确定是否创建调试程序。进一步地,所述根据CPU程序的调试状态创建与所述调试状态相对应的启动程序,包括:通过工程的配置信息、调试启动信息以及工程名称确定CPU程序是否进入调试状态;在CPU程序未进入调试状态的情况下,创建第一类型的启动程序;在CPU程序已进入调试状态的情况下,创建第二类型的启动程序。进一步地,所述根据所述启动程序的类型确定是否创建调试程序,包括:若所述启动程序的类型为第一类型,则创建调试程序对CPU程序进行调试;若所述启动程序的类型为第二类型,不创建调试程序,创建用户弹出框,并在关闭所述用户弹出框时释放系统资源。进一步地,所述用户弹出框被配置为手动关闭,并被配置为在预设时间内未被手动关闭时自动关闭。进一步地,所述创建用户弹出框的方法包括:采用线程同步技术将所述用户弹出框的线程加入到调试用户界面的线程中,并取消向动态库发送调试指令的动作。本专利技术基于IDE调试框架改进用于CPU程序的调试方法,对调试的启动程序进行分类,根据启动程序的类型确定是否创建调试程序。在CPU程序处于调试状态时,在用户错误操作或多次点击Debug按钮情况下能够对已创建的调试程序进行保护,使IDE开发环境容错性更好,保证IDE开发环境处于健康状态,大大提升研发效率。本专利技术另一方面提供一种基于IDE调试框架的用于CPU程序的调试系统,所述系统包括:启动模块,用于根据CPU程序的调试状态创建与所述调试状态相对应的启动程序;会话模块,用于判断所述启动程序的类型,根据所述启动程序的类型确定是否创建调试程序。进一步地,所述根据CPU程序的调试状态创建与所述调试状态相对应的启动程序,包括:通过工程的配置信息、调试启动信息以及工程名称确定CPU程序是否进入调试状态;在CPU程序未进入调试状态的情况下,创建第一类型的启动程序;在CPU程序已进入调试状态的情况下,创建第二类型的启动程序。进一步地,所述系统还包括:应用模块;在所述会话模块判断所述启动程序的类型为第一类型时,所述应用模块创建调试程序对CPU程序进行调试;在所述会话模块判断所述启动程序的类型为第二类型时,所述应用模块不创建调试程序,创建用户弹出框,并在关闭所述用户弹出框时释放系统资源。进一步地,所述创建用户弹出框的方法包括:采用线程同步技术将所述用户弹出框的线程加入到调试用户界面的线程中,并取消向动态库发送调试指令的动作。本专利技术的调试系统基于IDE调试框架对启动模块和会话模块进行定制化设计,在CPU程序处于调试状态时,在用户错误操作或多次点击Debug按钮情况下能够对已创建的调试程序进行保护,使IDE开发环境容错性更好,保证IDE开发环境处于健康状态,大大提升研发效率。本专利技术还提供一种存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述的基于IDE调试框架的用于CPU程序的调试方法。本专利技术实施方式的其它特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本专利技术实施方式的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本专利技术实施方式,但并不构成对本专利技术实施方式的限制。在附图中:图1是本专利技术一种实施方式提供的基于IDE调试框架的用于CPU程序的调试方法的流程图;图2是本专利技术一种实施方式提供的用户界面的CPU程序调试流程图;图3是本专利技术一种实施方式提供的基于IDE调试框架的用于CPU程序的调试系统的框图。具体实施方式以下结合附图对本专利技术的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本专利技术,并不用于限制本专利技术。图1是本专利技术一种实施方式提供的基于IDE调试框架的用于CPU程序的调试方法的流程图。如图1所示,本专利技术实施方式提供一种基于IDE调试框架的用于CPU程序的调试方法,所述方法包括:S1)根据CPU程序的调试状态创建与所述调试状态相对应的启动程序。IDE发起调试请求时,通过工程的配置信息、调试启动信息以及工程名称确定CPU程序是否进入调试状态;在CPU程本文档来自技高网
...

【技术保护点】
1.一种基于IDE调试框架的用于CPU程序的调试方法,其特征在于,所述方法包括:/n根据CPU程序的调试状态创建与所述调试状态相对应的启动程序;/n判断所述启动程序的类型,根据所述启动程序的类型确定是否创建调试程序。/n

【技术特征摘要】
1.一种基于IDE调试框架的用于CPU程序的调试方法,其特征在于,所述方法包括:
根据CPU程序的调试状态创建与所述调试状态相对应的启动程序;
判断所述启动程序的类型,根据所述启动程序的类型确定是否创建调试程序。


2.根据权利要求1所述的基于IDE调试框架的用于CPU程序的调试方法,其特征在于,所述根据CPU程序的调试状态创建与所述调试状态相对应的启动程序,包括:
通过工程的配置信息、调试启动信息以及工程名称确定CPU程序是否进入调试状态;
在CPU程序未进入调试状态的情况下,创建第一类型的启动程序;
在CPU程序已进入调试状态的情况下,创建第二类型的启动程序。


3.根据权利要求2所述的基于IDE调试框架的用于CPU程序的调试方法,其特征在于,所述根据所述启动程序的类型确定是否创建调试程序,包括:
若所述启动程序的类型为第一类型,则创建调试程序对CPU程序进行调试;
若所述启动程序的类型为第二类型,不创建调试程序,创建用户弹出框,并在关闭所述用户弹出框时释放系统资源。


4.根据权利要求3所述的基于IDE调试框架的用于CPU程序的调试方法,其特征在于,所述用户弹出框被配置为手动关闭,并被配置为在预设时间内未被手动关闭时自动关闭。


5.根据权利要求3所述的基于IDE调试框架的用于CPU程序的调试方法,其特征在于,所述创建用户弹出框的方法包括:
采用线程同步技术将所述用户弹出框的线程加入到调试用户界面的线程中,并取消向动态库发送调试指令的动作。


6.一种基于IDE调...

【专利技术属性】
技术研发人员:陈健种挺刘亮张茜歌张海峰原义栋
申请(专利权)人:北京智芯微电子科技有限公司国网信息通信产业集团有限公司
类型:发明
国别省市:北京;11

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

1