The invention discloses a code debugging method and a device, relating to the technical field of computer software programming, and solving the problems of complicated, tedious and low efficiency in the debugging process of the existing Python code. The technical scheme of the invention is: gets the line number breakpoints in the code, get the breakpoint set; according to the current line number of the code execution, judging whether the current line number is within the breakpoint set; if there is, executes an interrupt event function, to interrupt the execution of the code. The invention is mainly used for debugging Python code programs.
【技术实现步骤摘要】
一种代码调试方法及装置
本专利技术涉及计算机软件编程
,尤其涉及一种代码调试方法及装置。
技术介绍
IronPython是Python语言的.NET实现。有了IronPython,.NET开发人员可以在自己的软件产品中通过集成IronPython向用户提供Python代码的运行功能,对于某些业务功能需要用户自己通过Python代码定制的场景,IronPython的出现可谓是给.NET开发人员提供了强有力的技术支撑。但是,.NET开发人员在自己的软件产品中通过集成IronPython向用户提供Python代码的运行功能会遇到一个问题:用户编写完处理具体业务的Python代码提交到软件中运行的时候可能会因编写的Python代码错误导致用户预期的业务功能无法实现,此时用户需要查找自己编写的Python代码中的错误并修正它。用户通过检查Python代码发现代码中几个关键位置存在的疑点,希望Python代码的几个存在疑点的关键位置能够在执行的时候暂停以方便用户分析错误,从而解决代码存在的问题。在传统方案中,如果用户编写的Python代码存在错误,一般是用户自己通过在代码关键位置插入弹框代码来实现代码运行到关键位置时的暂停效果,然后用户再分析代码及代码的运行效果来判断代码错误的位置及原因。然而,使用向Python代码关键位置插入弹框代码的方式虽然也可以让Python代码在关键位置执行的时候暂停下来,但是这种做法仍然存在一个问题:当用户向Python代码关键位置插入了弹框代码,Python代码运行到插入了弹框代码的关键位置处暂停下来之后,如果用户通过分析代码行为认 ...
【技术保护点】
一种代码调试方法,其特征在于,所述方法包括:获取用户在代码中设置的断点行号,得到断点集合;根据所述代码执行的当前行号,判断所述当前行号是否在所述断点集合中;若存在,则执行中断事件函数,以中断所述代码的执行。
【技术特征摘要】
1.一种代码调试方法,其特征在于,所述方法包括:获取用户在代码中设置的断点行号,得到断点集合;根据所述代码执行的当前行号,判断所述当前行号是否在所述断点集合中;若存在,则执行中断事件函数,以中断所述代码的执行。2.根据权利要求1所述的方法,其特征在于,所述获取用户在代码中设置的断点行号,得到断点集合包括:创建断点集合,所述断点集合中记录有用户在代码中设置的断点行号;获取用户选择设置断点位置所在的代码行号;将所述代码行号添加到所述断点集合中;当所述代码行号已存在于所述断点集合中时,在所述断点集合中删除所述代码行号。3.根据权利要求1所述的方法,其特征在于,所述根据所述代码执行的当前行号,判断所述当前行号是否在所述断点集合中包括:根据在所述代码每一行之后添加的中断代码调用所述中断代码中的中断事件函数;在执行所述中断事件函数时,判断所述代码执行的当前行号是否在所述断点集合中。4.根据权利要求3所述的方法,其特征在于,所述判断所述代码执行的当前行号是否在所述断点集合中包括:设置行号计数器,设置初始值为1;在所述代码执行时,每调用一次所述中断事件函数,则为所述计数器的值加1,得到所述代码执行的当前行号;遍历所述断点集合中的断点行号,判断所述当前行号是否为断点行号。5.根据权利要求4所述的方法,其特征在于,所述执行中断...
【专利技术属性】
技术研发人员:程水强,
申请(专利权)人:北京国双科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。