CN117520155A - 一种rpa流程调试方法、装置、电子设备及存储介质 - Google Patents
一种rpa流程调试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117520155A CN117520155A CN202311438384.0A CN202311438384A CN117520155A CN 117520155 A CN117520155 A CN 117520155A CN 202311438384 A CN202311438384 A CN 202311438384A CN 117520155 A CN117520155 A CN 117520155A
- Authority
- CN
- China
- Prior art keywords
- line number
- rpa
- flow
- code
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 186
- 238000013507 mapping Methods 0.000 claims abstract description 119
- 230000008569 process Effects 0.000 claims abstract description 97
- 238000006243 chemical reaction Methods 0.000 claims abstract description 27
- 230000002159 abnormal effect Effects 0.000 claims description 48
- 230000000007 visual effect Effects 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000011022 operating instruction Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- HOKDBMAJZXIPGC-UHFFFAOYSA-N Mequitazine Chemical compound C12=CC=CC=C2SC2=CC=CC=C2N1CC1C(CC2)CCN2C1 HOKDBMAJZXIPGC-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004801 process automation Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种RPA流程调试方法、装置、电子设备及存储介质,涉及RPA调试领域,方法包括:获取待调试的RPA流程;RPA流程包含可视化的指令组件;将RPA流程转换为代码文件,并在转换过程中记录指令组件与代码文件中的代码行号之间的行号映射关系;利用调试器对代码文件进行调试,并在接收到调试器返回的提示消息时,根据行号映射关系及提示消息中的代码行号确定提示消息对应的指令组件;可记录RPA流程中的各指令组件与代码文件中的代码行号之间的行号映射关系,从而可在利用调试器调试代码时,根据行号映射关系及调试器输出的提示消息中的代码行号确定提示消息对应的指令组件,从而可方便代码行与指令组件之间的定位。
Description
技术领域
本发明涉及RPA调试领域,特别涉及一种RPA流程调试方法、装置、电子设备及存储介质。
背景技术
为提升运营管理效率,企业可引入RPA(Robotic Process Automation,机器人流程自动化)来自动执行重复性较低、附加值较低的工作。其中,RPA可通过机器人软件来模拟人工操作,从而达到自动操作计算机的目的。
相关技术中,在对RPA流程进行调试的过程中,一方面由于每次调试都需要临时生成Python源码,以及利用可视化定位器计算下一步待执行的可视化块的逻辑过于复杂,从而导致一定的性能损耗;另一方面由于用户开发的流程复杂度不可控和场景多等问题,例如若使用多层Try语句包裹RPA指令,当指令报错时,得到的Python程序栈回溯信息较长,不利于用户快速定位错误原因,降低了开发效率。
发明内容
本发明的目的是提供一种RPA流程调试方法、装置、电子设备及存储介质,可记录RPA流程中的各指令组件与代码文件中的代码行号之间的行号映射关系,从而可方便代码行与指令组件之间的定位。
为解决上述技术问题,本发明提供一种RPA流程调试方法,包括:
获取待调试的RPA流程;所述RPA流程包含可视化的指令组件;
将所述RPA流程转换为代码文件,并在转换过程中记录所述指令组件与所述代码文件中的代码行号之间的行号映射关系;
利用调试器对所述代码文件进行调试,并在接收到所述调试器返回的提示消息时,根据所述行号映射关系及所述提示消息中的代码行号确定所述提示消息对应的指令组件。
可选地,所述将所述RPA流程转换为代码文件,并在转换过程中记录所述指令组件与所述代码文件中的代码行号之间的行号映射关系,包括:
将所述RPA流程中的各RPA子流程转换为对应的代码文件,并在转换过程中记录各所述RPA子流程中的指令组件与各所述代码文件中的代码行号之间的行号映射关系;
利用各所述RPA子流程的流程名称对各所述RPA子流程的代码文件进行命名,并记录各所述流程名称与各所述RPA子流程的行号映射关系间的对应关系;
所述根据所述行号映射关系及所述提示消息中的代码行号确定所述提示消息对应的指令组件,包括:
根据所述对应关系及所述提示消息中的代码文件名称确定对应的目标RPA子流程及目标行号映射关系;
根据所述目标行号映射关系及所述提示消息中的代码行号在所述目标RPA子流程中确定所述提示消息对应的指令组件。
可选地,在根据所述行号映射关系及所述提示消息中的代码行号确定所述提示消息对应的指令组件之后,还包括:
根据所述RPA流程的编排模式调整可视化界面,以使所述提示消息对应的指令组件位于所述可视化界面的可视区域;
根据所述提示消息对应的提示形式,将所述提示消息输出至对应的指令组件。
可选地,还包括:
接收输入的断点调整信息,并确定所述断点调整信息中的待调整指令组件和调整状态;
当确定所述调整状态为增加断点时,根据所述行号映射关系确定所述待调整指令组件对应的代码行号,并设置所述待调整指令组件与对应代码行号间的断点映射关系;
当确定所述调整状态为删除断点时,删除所述待调整指令组件对应的断点映射关系;
所述利用调试器对所述代码文件进行调试,包括:
根据所述断点映射关系中包含的代码行号组装断点调试命令;
将所述断点调试命令发送至所述调试器,以使所述调试器根据所述断点调试命令中的代码行号在所述代码文件中设置断点,并基于断点模式对所述代码文件进行调试。
可选地,所述提示消息为所述调试器中的调试模块返回的调试消息;
在接收到所述调试器返回的提示消息之后,还包括:
当无法根据所述行号映射关系查询到与所述调试消息中的代码行号对应的指令组件时,判断所述调试消息中的代码行号是否小于所述指令组件在所述代码文件对应的最大代码行号;
若是,则控制所述调试器基于单步模式对所述代码文件进行调试;
若否,则控制所述调试器继续对所述代码文件进行调试。
可选地,所述利用调试器对所述代码文件进行调试,包括:
利用所述调试器中的执行内核为各所述指令组件对应的代码包裹Try/except语句,并利用所述执行内核执行包裹有所述Try/except语句的代码;
将所述执行内核在执行包裹有所述Try/except语句的代码并抛出异常时产生的异常回溯消息输出至本地文件。
可选地,在根据所述行号映射关系及所述提示消息中的代码行号确定所述提示消息对应的指令组件之后,还包括:
判断流程异常终止消息中的代码行号是否与所述RPA流程中的指令组件对应;所述提示消息包括所述流程异常终止消息,所述调试器中的执行内核在确定所述RPA流程异常终止时产生所述流程异常终止消息;
若是,则将所述流程异常终止消息输出至对应的指令组件;
若否,则在可视化界面的可视区域中输出所述流程异常终止消息。
本发明还提供一种RPA流程调试装置,包括:
获取模块,用于获取待调试的RPA流程;所述RPA流程包含可视化的指令组件;
转换模块,用于将所述RPA流程转换为代码文件,并在转换过程中记录所述指令组件与所述代码文件中的代码行号之间的行号映射关系;
调试模块,用于利用调试器对所述代码文件进行调试,并在接收到所述调试器返回的提示消息时,根据所述行号映射关系及所述提示消息中的代码行号确定所述提示消息对应的指令组件。
本发明还提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的RPA流程调试方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上所述的RPA流程调试方法。
本发明提供一种RPA流程调试方法,包括:获取待调试的RPA流程;所述RPA流程包含可视化的指令组件;将所述RPA流程转换为代码文件,并在转换过程中记录所述指令组件与所述代码文件中的代码行号之间的行号映射关系;利用调试器对所述代码文件进行调试,并在接收到所述调试器返回的提示消息时,根据所述行号映射关系及所述提示消息中的代码行号确定所述提示消息对应的指令组件。
可见,本发明首先可获取待调试的RPA流程,其中该RPA流程包含可视化的指令组件,即RPA流程可采用可视化编排的方式编排得到。随后,本发明可将RPA流程转换为代码文件,并在转换过程中记录指令组件与代码文件中的代码行号之间的行号映射关系;进而,在利用调试器对代码文件进行调试时,可在接收到调试器返回的提示消息时,根据行号映射关系及提示消息中的代码行号确定提示消息对应的指令组件,从而方便代码行与指令组件之间的定位,并可提升RPA流程的调试便利性。本发明还提供一种RPA流程调试装置、电子设备及计算机可读存储介质,具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种RPA流程调试方法的流程图;
图2为本发明实施例所提供的一种行号映射关系字典的示意图;
图3为本发明实施例所提供的一种断点映射关系字典的示意图;
图4为本发明实施例所提供的一种具体的调试RPA流程编排的方法的流程图;
图5为本发明实施例所提供的一种具体调试RPA流程编排的方法中断点信息调试的流程图;
图6为本发明实施例所提供的一种具体调试RPA流程编排的方法的流程图;
图7为本发明实施例所提供的一种RPA流程调试装置的结构框图;
图8为本发明实施例所提供的一种电子设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,在对RPA流程进行调试的过程中,一方面由于每次调试都需要临时生成Python源码,以及利用可视化定位器计算下一步待执行的可视化块的逻辑过于复杂,从而导致一定的性能损耗。另一方面由于用户的开发流程复杂度不可控和场景多等问题,例如若使用多层Try语句包裹RPA指令,当指令报错时,得到的Python程序栈回溯信息较长,不利于用户快速定位错误原因,降低了开发效率。有鉴于此,本发明可提供一种RPA流程调试方法,可记录RPA流程中的各指令组件与代码文件中的代码行号之间的行号映射关系,从而可在利用调试器调试代码时,根据行号映射关系及调试器输出的提示消息中的代码行号,将提示消息输出至对应的指令组件,从而可方便错误代码与指令组件之间的定位。
需要说明的是,本发明实施例并不限定执行本方法的硬件类型,例如可以为个人电脑、服务器等,可根据实际应用需求进行设定。
请参考图1,图1为本发明实施例所提供的一种RPA流程调试方法的流程图,该方法可以包括:
S101、获取待调试的RPA流程;RPA流程包含可视化的指令组件。
在本发明实施例中,RPA流程可采用图形化编排的方式编排得到,其可包含一个或多个可视化的指令组件。这些指令组件可采用流程图编排方法编排得到RPA流程,也可通过序列编排方法编排得到RPA流程,从而能够方便用户使用。另外,RPA流程中还可包含多个RPA子流程,各个RPA子流程中也均包含指令组件,RPA流程的主流程可基于指令组件的形式调用各个RPA子流程,且各个RPA子流程之间也可基于指令组件的形式相互调用。需要指出的是,对RPA子流程的调试方式与对RPA流程的调试方式一致。
需要说明的是,本发明实施例并不限定RPA流程、RPA子流程和指令组件的具体形式,可参考RPA的相关技术。
S102、将RPA流程转换为代码文件,并在转换过程中记录指令组件与代码文件中的代码行号之间的行号映射关系。
本发明实施例具体可将RPA流程转换为代码文件形式进行调试。本发明实施例并不限定具体的转换方式,例如,对于RPA流程中的指令组件,可预先为各类型指令组件设置代码模板,并可将该RPA流程中的指令组件所涉及的参数填入对应的代码模板,形成指令组件对应的代码,进而可根据RPA流程中的指令组件排布顺序,将各指令组件的代码顺序添加至代码文件,进而便完成了代码文件转换。当然,代码文件中还可包含与RPA流程相关的其他代码逻辑,本发明实施例对此不做限定。
进一步,为方便RPA流程的调试,本发明实施例特别在代码文件转换过程中,记录了指令组件与代码文件中的代码行的代码行号之间的行号映射关系。换句话说,本发明实施例特别确定了代码文件中有哪些代码用于实现对应指令组件的逻辑,并可将这些代码与指令组件建立映射关系。这样,在对代码文件进行调试时,可根据该行号映射关系,确定当前正在调试的代码行或存在错误的代码行对应的目标指令组件,以方便用户了解调试情况。
应当指出的是,指令组件可能与代码文件中的一行或多行代码存在行号映射关系;此外,代码文件中的代码行可能与某个指令组件存在行号映射关系,也可能与各个指令组件均不存在行号映射关系。
需要说明的是,本发明实施例并不限定代码文件具体使用的语言类型,例如可以为Python语言。本发明实施例也不限定代码文件的名称,当仅对不包含多RPA子流程的单个RPA流程进行调试时,代码文件可具有任意名称。而在对包含多个RPA子流程的RPA流程进行调试时,由于各RPA子流程均需要生成对应的代码文件,为方便确定代码文件对应哪一RPA子流程,代码文件名称也可以为RPA子流程的流程名称。需要说明的是,RPA子流程的调试方式与RPA流程的调试方式一致。进一步,本发明实施例并不限定如何管理行号映射关系,例如可采用键值对记录的方式,以“{lineno:uuid}”形式记录上述行号映射关系,其中“lineno”表示代码行号,“uuid”表示指令组件的标识信息。采取键值对形式更方便记录指令组件与代码行号间的一对多关系。进一步,在对包含多个RPA子流程的RPA流程进行调试的过程中,为方便管理,还可建立RPA子流程与行号映射关系之间的对应关系。该对应关系也可采用键值对记录的方式,以“{flow:lineNodeMap}”的形式进行记录,其中“flow”表示RPA子流程,“lineNodeMap”表示上述行号映射关系。请参考图2,图2为本发明实施例所提供的一种行号映射关系字典(flowLineMap)的示意图。
基于此,将RPA流程转换为代码文件,并在转换过程中记录指令组件与代码文件中的代码行号之间的行号映射关系,可以包括:
步骤11:将RPA流程中的各RPA子流程转换为对应的代码文件,并在转换过程中记录各RPA子流程中的指令组件与各代码文件中的代码行号之间的行号映射关系;
步骤11:利用各RPA子流程的流程名称对各RPA子流程的代码文件进行命名,并记录各流程名称与各RPA子流程的行号映射关系间的对应关系。
S103、利用调试器对代码文件进行调试,并在接收到调试器返回的提示消息时,根据行号映射关系及提示消息中的代码行号确定提示消息对应的指令组件。
需要说明的是,本发明实施例并不限定调试器的实现形式。例如,为了对基于Python语言编写的RPA流程进行调试,调试器可包含执行内核和调试模块两部分,其中执行内核用于执行指令组件对应的Python语句代码,调试模块用于提供调试功能(如单步调试功能及断点调试功能)。调试模块进一步可以为PDB(Python Debugger,Python调试器)。在实际调试过程中,执行内核和调试模块均可产生提示消息,且执行内核和调试模块产生的提示消息均包含有代码行号及代码文件名称。显然,由于本发明实施例预设了行号映射关系,因此可根据预设的行号映射关系及提示消息中的代码行号,在RPA流程中快速定位到唯一的指令组件,从而能够方便RPA流程的调试。
还需指出的是,本发明实施例并不限定上述提示消息的具体形式,例如可以一般字符串形式输出提示消息,也可以采用JSON字符串(JavaScript Object Notation,JS对象表示法)输出提示消息,也可采用其他形式输出提示消息,可根据实际应用需求进行设定。在一种可能的情况中,由于调试模块可由PDB模块实现,因此调试模块可依照PDB的协议,以纯字符串的形式输出提示消息;而执行内核可采用JSON格式返回提示消息,从而可方便消息解析。进而,在对不同类型的提示消息进行解析时,可根据其输出形式进行解析,例如采用一般字符串输出的提示消息可基于正则表达式解析,基于JSON格式输出的提示消息可基于JSON格式的解析方式进行解析。进一步,在对包含多RPA子流程的RPA流程进行调试的过程中,由于代码文件的名称可以为RPA子流程的流程名称,且提示消息中也包含有代码文件名称,因此可根据预设的RPA子流程名称与行号映射关系间的对应关系,查找与提示消息中的代码文件名称对应的目标RPA子流程及目标行号映射关系,进而可根据目标行号映射关系及提示消息中的代码行号,确定提示消息在目标RPA子流程中对应的指令组件。
基于此,根据行号映射关系及提示消息中的代码行号确定提示消息对应的指令组件,可以包括:
步骤21:根据对应关系及提示消息中的代码文件名称,确定对应的目标RPA子流程及目标行号映射关系;
步骤22:根据目标行号映射关系及提示消息中的代码行号确定提示消息在目标RPA子流程中确定提示消息对应的指令组件。
进一步,在完成了对指令组件的定位之后,本发明实施例可按需输出提示消息。本发明实施例并不限定采取何种形式对提示消息进行输出,可根据实际应用需求进行设定。例如可将提示消息输出至文本文件,也可将提示消息上报至服务器,也可以将提示消息可视化输出至对应的指令组件。例如,在一种可能的情况中,调试模块将输出调试消息,用于表明其当前正在调试的代码行;而执行内核将输出异常回溯消息和流程异常终止消息,其中执行内核在执行各指令组件对应的代码并抛出异常时产生该指令异常回溯消息,而在确定RPA流程异常终止时产生流程异常终止消息。对应调试消息,本发明实施例可将与该调试消息对应的指令组件高亮为黄色;对于异常回溯消息,本发明实施例可将其输出至文本文件,也可将其上报至服务器;对于流程异常终止消息,若其与某个指令组件对应,则可将其输出至对应的指令组件,若其与任一指令组件均不对应,本发明实施例也可在可视化界面中的任意位置输出该流程异常终止消息。当然,各类型的提示消息也可采取其他形式进行输出,可根据实际应用需求进行设定。
值得指出的是,本发明实施例可单独将异常回溯消息写入到本地日志文件中,不仅可帮助用户定位问题,也可防止异常回溯消息丢失。例如,在用户自己捕获处理了指令异常而导致异常信息丢失的场景中,本发明由于已将异常回溯消息进一步备份至本地日志文件或上报至服务器中,因此可方便用户后续查找。
进一步,本发明实施例也不限定各类提示消息的输出时机,可根据实际应用需求进行设定。例如,调试消息可在其每次生成时便输出至对应的指令组件上,以便用户了解当前正在调试的指令组件;异常回溯消息可在RPA流程异常终止时输出,而在RPA流程正常结束时不输出;流程异常终止消息可在RPA流程异常终止时输出。换句话说,各类提示消息均可设置对应的输出触发条件,并可仅在该输出触发条件满足时才会进行输出。进一步,可以理解的是,在需要将提示消息输出至对应指令组件时,该指令组件可能并不位于设计器可视化界面的可视区域,因此可对设计器的可视化界面进行调整,以在将提示消息对应的指令组件设置于可视化界面的可视区域之后,再输出提示消息。应当指出的是,对可视化界面的调整需根据RPA流程的编排模式进行,例如对于序列编排方式,需调用编排视图实例的方法将指令组件移动至可见区域;对于流程图编排方式,需调用画布实例的方法将指令组件滚动到画布中心。
基于此,在根据行号映射关系及提示消息中的代码行号确定提示消息对应的指令组件之后,还可以包括:
步骤31:根据RPA流程的编排模式调整可视化界面,以使提示消息对应的指令组件位于可视化界面的可视区域;
步骤32:根据提示消息对应的提示形式,将提示消息输出至对应的指令组件。
进一步,还需指出的是,一个RPA流程可包含多个RPA子流程,每个RPA子流程也包含若干指令组件,且这些RPA子流程之间可相互跳转。并且,设计器在打开一个RPA流程时可同时打开这多个子流程,并在不同的页面显示不同的RPA子流程,进而,在接收到调试器返回的提示消息时,可能出现该提示消息对应的RPA子流程页面处于不可见状态的情况。此时,可先切换至该提示消息对应的RPA子流程页面,再将该提示消息输出至该页面中对应的指令组件。
进一步,在某些情况中,子流程可能已生成设置了对应的代码文件,但并未设置上述行号映射关系及对应关系,进而导致无法输出提示消息。此时,可重新将该子流程转换为代码文件,以及为该子流程重设上述行号映射关系及对应关系,并仅在上述关系均已设置完毕之后,再进行提示消息输出。
基于上述实施例,本发明首先可获取待调试的RPA流程,其中该RPA流程包含可视化的指令组件,即RPA流程可采用可视化编排的方式展示。随后,本发明可将RPA流程转换为代码文件,并在转换过程中记录指令组件与代码文件中的代码行号之间的行号映射关系;进而,在利用调试器对代码文件进行调试时,可在接收到调试器返回的提示消息时,根据行号映射关系及提示消息中的代码行号,将提示消息输出至对应的指令组件,进而能够方便错误代码与可视化指令组件之间的定位,从而能够方便RPA流程的调试。
基于上述实施例,下面对本发明实施例所提供的断点调试方式进行详细介绍。在一种可能的情况中,本方法还可以包括:
S201、接收输入的断点调整信息,并确定断点调整信息中的待调整指令组件和调整状态。
需要说明的是,本发明实施例并不限定用户执行断点调整信息的具体方式,例如可以包括:
1.点击指令组件断点设置区域,添加/删除断点标识。
2.点击指令组件右键可批量添加/删除断点标识。
进一步,在接收到用户输入的断点调整信息时,需确定断点调整信息中的待调整指令组件(uuid)和调整状态(status)。当然,在对RPA流程进行调试时,断点调试信息中还应包含子流程的流程名称(flowName)。
S202、当确定调整状态为增加断点时,根据行号映射关系确定待调整指令组件对应的代码行号,并设置待调整指令组件与对应代码行号间的断点映射关系。
值得指出的是,由于本发明实施例已预设了指令组件与代码行之间的行号映射关系,因此可直接在指令组件上设置断点,并根据行号映射关系,进一步将断点添加至对应的代码行上,从而实现RPA流程的调试。
进一步,为了方便记录断点信息,本发明实施例在增加断点时,还可设置待调整指令组件与对应代码行号间的断点映射关系。本发明实施例并不限定断点映射关系的具体记录形式,例如同样可采用键值对形式进行记录。进一步的,断点映射关系同样可与RPA子流程建立对应关系,这一对应关系具体可记录为“{flow:[‘lineno:uuid’]}”。各RPA子流程和断点映射关系间的对应关系同样可采用字典保存,请参考图3,图3为本发明实施例所提供的一种断点映射关系字典(BreakPoints)的示意图。
S203、当确定调整状态为删除断点时,删除待调整指令组件对应的断点映射关系。
进一步,利用调试器对代码文件进行调试,可以包括:
S204、根据断点映射关系中包含的代码行号组装断点调试命令。
具体的,断点调试命令可以为“b(reak)[([filename:]lineno|function)]\n”,其中filename指代码文件名称,即为子流程名称。
S205、将断点调试命令发送至调试器,以使调试器根据断点调试命令中的代码行号在代码文件中设置断点,并基于断点模式对代码文件进行调试。
需要说明的是,本发明实施例并不限定调试器如何设置断点及如何基于断点模式对代码文件进行调试,可参考调试器的相关技术。
进一步,在进行调试的过程中,可能出现调试模块返回的调试消息中的代码行号与各指令组件对应的代码行号不吻合的情况。此时,本发明实施例还可根据调试消息中的代码行号确定调试器对指令组件代码的调试情况。具体的,可根据行号映射关系(lineNodeMap)计算出RPA流程中的指令组件对应的代码行号的最大值maxLineN。进而,可比较lineno和maxLineN的大小,如果maxLineN<=lineno,则说明流程还未执行完毕,可给调试器发送“c\n”命令继续执行。否则,发送“n\n”命令,单步运行。
基于此,提示消息为调试器中的调试模块返回的调试消息,在接收到调试器返回的提示消息之后,还可以包括:
步骤31:当无法根据行号映射关系查询到与调试消息中的代码行号对应的指令组件时,判断调试消息中的代码行号是否小于指令组件在代码文件对应的最大代码行号;若是,则进入步骤32;若否,则进入步骤33;
步骤32:控制调试器基于单步模式对代码文件进行调试。
步骤33:控制调试器继续对代码文件进行调试。
基于上述实施例,下面对本发明实施例所提供的另一种调试方式进行详细介绍。在一种可能的情况中,利用调试器对代码文件进行调试,可以包括:
S301、利用调试器中的执行内核为各指令组件的代码包裹Try/except语句,并利用执行内核执行包裹有Try/except语句的指令代码块。
S302、将执行内核在执行包裹有Try/except语句的代码并抛出异常时产生的异常回溯消息输出至本地文件。
为方便发现并处理代码的执行错误,本发明实施例中的执行内核可主动为各指令组件的代码包裹Try/except语句,以基于Try/except语句处理执行指令组件代码时遭遇的异常。try/except语句是一种常见异常处理机制。为进行错误排查,通常可在except语句中设置异常抛出逻辑,以在遭遇异常时抛出堆栈信息。执行内核在执行包裹有Try/except语句的代码并抛出异常时将产生的异常回溯消息,该异常回溯消息可通过IPC管道(Inter-Process Communication,进程间通信)发送至设计器。由于这一异常回溯消息详细记录有代码出现执行错误时对应的所有错误信息,因此本发明实施例可将其输出至本地文件,用户后期可根据该文件中记录的异常回溯消息进行错误定位。当然,由于本发明实施例可单独将异常回溯消息写入到本地文件中,因此还可防止异常回溯消息丢失。例如,在用户自己捕获处理了指令异常而导致异常信息丢失的场景中,本发明由于已将异常回溯消息进一步备份至本地文件中,因此用户可从本地文件中查找信息,能够有效方式信息丢失。
进一步,执行内核在执行代码时还可以产生流程异常终止消息,该消息用于表示RPA流程遭遇异常终止。换句话说,执行内核可产生两种消息,其中执行内核在执行包裹有Try/except语句的代码块并抛出异常时产生异常回溯消息(INSTRUCTION_TRACEBACK),而在确定RPA流程异常终止时产生流程异常终止消息(FINISH_WITH_WRONG)。本发明可根据上述两种消息来确定代码文件是否存在调试异常,以及导致异常的代码行与指令组件是否具有对应关系。
下面对流程异常终止消息的输出方式进行介绍。在一种可能的情况中,在根据行号映射关系及提示消息中的代码行号确定提示消息对应的指令组件之后,可以包括:
步骤41:判断流程异常终止消息中的代码行号是否与RPA流程中的指令组件对应;提示消息包括流程异常终止消息,调试器中的执行内核在确定RPA流程异常终止时产生流程异常终止消息;若是,则进入步骤42;若否,则进入步骤43;
步骤42:将流程异常终止消息输出至对应的指令组件。
步骤43:在可视化界面的可视区域中输出流程异常终止消息。
具体的,执行内核在确定RPA流程执行异常终止时,可通过IPC管道向设计器发送一条流程异常终止消息。设计器在接收到流程异常终止消息时,可先解析此消息,得到错误的流程名称flowname、错误原因reason、错误回溯traceback、组件标识nodeId等信息。如果nodeId不为空,则说明是由RPA指令造成的异常,此时需要读取指令异常回溯消息中的trackback信息,然后将这些信息输出至对应的指令组件;否则,全局提示流程异常终止消息中的reason即可。
值得指出的是,流程异常终止消息中的traceback已由执行内核过滤,仅包含当前RPA流程中用户自己开发代码的执行栈信息。这是由于在遭遇异常时,堆栈信息可能包含多条内容,十分冗长且不利于解析分析,因此执行内核可对堆栈信息进行过滤,以减少异常信息的数量并提升异常信息的针对性。显然,相较于包含多条内容的堆栈信息而言,本实施例中的流程异常终止消息更容易解析和阅读,因此能够显著提升错误代码的定位效率,从而可为RPA流程的调试提供便利。
下面通过具体例子说明上述过程,请参考图4,图4为本发明实施例所提供的一种具体的调试RPA流程编排的方法的流程图,过程具体如下:
1、在调试前,保存正在编辑的子流程,生成对应的Python代码,并得到行号映射关系字典(flowsLineMap)和断点映射关系字典(breakPoints)。
2、在点击调试时,遍历断点映射关系字典数据,以“b(reak)[([filename:]lineno|function)]\n”格式组装成调试命令字符串commandText,设计器以交互式方式启动Python调试器子进程,并在确认执行前,将commandText发送该子进程。
3、设计器监听子进程的事件其中,事件可可以分为子进程的标准输出流中(stdout)的data事件和子进程的退出事件(exit)。
本发明实施例中可以根据不同的事件执行对应的操作,当事件中包含调试消息时,需要在断点处断住等待用户操作,具体的执行操作请参考图5,图5为本发明实施例所提供的一种具体调试RPA流程编排的方法中断点信息调试的流程图,可以包括:
步骤1:接收调试消息,根据调试消息,确定是否存在断点消息,若存在根据断点消息,提取出当前运行的RPA流程,其中,断点消息包含文件名称和文件行号。
步骤2:判断行号映射关系字典中是否存在文件名称对应的行号映射关系表,如果不存在,则执行步骤3,否则执行步骤4。
步骤3:打开RPA流程的流程页面,接收到node-line-info消息,并将该流程与其行号映射关系信息间的对应关系添加到行号映射关系字典中。
步骤4:判断是否切换到当前调试的RPA流程的页面,如果未切换则跳转到流程页面,执行步骤5,若已切换,直接执行步骤5。
步骤5:根据flowsNodeMap得到当前调试的RPA流程对应的行号映射关系(lineMap),根据lineno从lineMap中得到待执行的指令的uuid,并根据lineMap计算出子流程中指令对应文件行号的最大值(maxLineN)。
步骤6:确定uuid是否为空值(null),若为空,则执行步骤7,否则执行步骤8。
步骤7:确定maxLineN是否小于等于lineno,若小于等于lineno,则表示子流程还未执行完毕,给子进程发送“c\n”命令继续执行,否则,发送“n\n”命令,执行单步运行。本发明实施例中还可以根据用户对调试的手动终止的情况,杀死调试器子进程。
步骤8:将uuid信息存在全局变量debugNode中,并确定流程编排方式是否为序列编排方式,若是,则执行步骤9,否则执行步骤10。
步骤9:将指令的uuid等于debugNode的指令块组件高亮成黄色,如果指令块不在视图中,将指令块滚到可见区。
步骤10:将指令的uuid等于debugNode的指令块组件滚动到画布中心,并将指令块组件容器边框高亮成黄色。
步骤11:等待用户操作。
基于上述实施例,本发明实施例中还提供一种具体的运行时,具体的调试RPA流程编排的方法的流程图,请参考图6,图6为本发明实施例所提供的一种具体调试RPA流程编排的方法的流程图,可以包括:
步骤S401:通过调试器对所有的指令设置异常捕捉方法,其中异常捕捉方法基于try/except语句实现。利用调试器运行指令,并接收调试器发送的异常回溯消息和流程异常终止消息。
本发明实施例中可以对每个RPA指令对应的代码包一层try/except语句进而调试器子进程在确定某个指令报错的时候,可以给IPC管道里面发送一条INSTRUCTION_TRACEBACK消息(异常回溯消息)。此外,当流程异常终止时,调试器子进程可发送一条FINISH_WITH_WRONG消息(流程异常终止消息)。其中,异常回溯消息和流程异常终止消息都携带filename(文件名称)、lineno(文件行号)等关键信息。需要说明的是,异常回溯消息可输出至本地文件;而对于流程异常终止消息,若其对应非指令报错造成流程异常时,需全局提示流程异常终止消息中携带错误信息,否则,则需要解析流程异常终止消息中与指令组件对应的信息,并执行步骤S402等后续步骤,以将流程异常终止消息输出至对应的指令组件。
步骤S402:提取与流程异常终止消息中的文件名称对应的子流程,并确定指令行号映射表中是否存在文件名称,若不存在,则执行步骤S403,若存在,则执行步骤S404。
步骤S403:根据子流程,得到对应文件行号和指令标识的指令行号关系表,并将指令行号关系表保存至指令行号映射表。
步骤S404:确定是否已切换至当前调试流程的流程页面,若已切换,执行步骤S405,若未切换,则切换至该流程页面,并执行步骤S405。
步骤S405:根据文件名称,确定行号映射关系字典中与文件名称对应的行号映射关系,然后根据流程异常终止消息中的代码行号,确定行号映射关系中与代码行号对应的指令组件标识,并将指令组件标识保存至全局变量。
本发明实施例中可以根据filename从flowNodeMap中得到当前报错流程的行号映射关系(lineMap),然后根据lineno从lineMap中得到报错代码行对应的指令组件标识(uuid),将流程异常终止消息中的错误信息保存到全局变量(errorData)中,其中,全局变量可以包含flowname(流程名称)、reason(原因)、traceback(错误回溯)和nodeId(节点编号)等信息。
步骤S406:向缓存控制模块发送一条定位指令块的消息,缓存控制模块中得到报错流程的视图实例(G),并确定流程编排方式是否为序列编排方式,若是序列编排方式执行步骤S407,否则执行步骤S408。
步骤S407:将指令块进行高亮操作,并将指令错误回溯消息显示在提示框中。
本发明实施例中可以将指令的uuid等于errorData中nodeId的指令块组件高亮成红色,如果指令块组件不存在于视图中,则利用编排视图实例的方法将指令块组件滚到可见区,并在指令块上显示一个错误提示框,对于高亮标记和提示框的样式不做限制。
步骤S408:将指令块的边框进行高亮操作,并将指令错误回溯消息显示在指令块中。
本发明实施例中将指令的uuid等于errorData中nodeId的指令块组件容器边框高亮成红色,调用画布实例的方法将指令块组件滚动到画布中心,并将错误信息显示在指令块上,其中,对于高亮标记的样式不做限制。
需要说明的是,本发明实施例中在调试情况下定位指令时如果指令被折叠,则需要自动展开,并且还可以在设计器右边面板上显示报错指令的属性。其中,当关闭RPA应用时,可以将该应用所有的断点信息永久化存储在本地文件中,实现再次打开时,可以先读取此文件中的断点信息保存在内存中。
本发明实施例中可以实现在报错时,自动跳转到任意报错流程中的具体指令块,方便用户调试,提高开发效率,以及实现了对不同流图编排方式执行统一的调试方法,逻辑简单,执行效率高。
下面对本发明实施例提供的RPA流程调试装置、电子设备及计算机可读存储介质进行介绍,下文描述的RPA流程调试装置、电子设备及计算机可读存储介质与上文描述的RPA流程调试方法可相互对应参照。
请参考图7,图7为本发明实施例所提供的一种RPA流程调试装置的结构框图,该装置可以包括:
获取模块701,用于获取待调试的RPA流程;RPA流程包含可视化的指令组件;
转换模块702,用于将RPA流程转换为代码文件,并在转换过程中记录指令组件与代码文件中的代码行号之间的行号映射关系;
调试模块703,用于利用调试器对代码文件进行调试,并在接收到调试器返回的提示消息时,根据行号映射关系及提示消息中的代码行号确定提示消息对应的指令组件。
可选地,转换模块702,可以包括:
转换子模块,用于将RPA流程中的各RPA子流程转换为对应的代码文件,并在转换过程中记录各RPA子流程中的指令组件与各代码文件中的代码行号之间的行号映射关系;
行号映射关系字典设置模块,用于利用各RPA子流程的流程名称对各RPA子流程的代码文件进行命名,并记录各流程名称与各RPA子流程的行号映射关系间的对应关系;
调试模块703,可以包括:
查找子模块,用于根据对应关系及提示消息中的代码文件名称,确定对应的目标RPA子流程及目标行号映射关系;
确认子模块,用于根据目标行号映射关系及提示消息中的代码行号在目标RPA子流程中确定所述提示消息对应的指令组件。
可选地,本装置还可以包括:
界面调整模块,用于根据RPA流程的编排模式调整可视化界面,以使提示消息对应的指令组件位于可视化界面的可视区域;
信息输出模块,用于根据提示消息对应的提示形式,将提示消息输出至对应的指令组件。
可选地,本装置还可以包括:
断点调整信息接收模块,用于接收输入的断点调整信息,并确定断点调整信息中的待调整指令组件和调整状态;
断点增加模块,用于当确定调整状态为增加断点时,根据行号映射关系确定待调整指令组件对应的代码行号,并设置待调整指令组件与对应代码行号间的断点映射关系;
断点删除模块,用于当确定调整状态为删除断点时,删除待调整指令组件对应的断点映射关系;
调试模块703,可以包括:
断点调试命令组装子模块,用于根据断点映射关系中包含的代码行号组装断点调试命令;
调试子模块,用于将断点调试命令发送至调试器,以使调试器根据断点调试命令中的代码行号在代码文件中设置断点,并基于断点模式对代码文件进行调试。
可选地,所述提示消息为所述调试器中的调试模块返回的调试消息,调试模块703还可以包括:
执行判断模块,用于当无法根据行号映射关系查询到与调试消息中的代码行号对应的指令组件时,判断调试消息中的代码行号是否小于指令组件在代码文件对应的最大代码行号;若是,则控制调试器基于单步模式对代码文件进行调试。
若否,则控制调试器继续对代码文件进行调试。
可选地,调试模块703,可以包括:
处理子模块,用于利用调试器中的执行内核为各指令组件对应的代码包裹Try/except语句,并利用执行内核执行包裹有Try/except语句的代码。
输出子模块,用于将执行内核在执行包裹有Try/except语句的代码并抛出异常时产生的异常回溯消息输出至本地文件。
可选地,
调试模块703,可以包括:
判断子模块,用于判断流程异常终止消息中的代码行号是否与RPA流程中的指令组件对应;提示消息包括流程异常终止消息,调试器中的执行内核在确定RPA流程异常终止时产生流程异常终止消息;
第一输出子模块,用于若是,则将流程异常终止消息输出至对应的指令组件;
第二输出子模块,用于若否,则在可视化界面的可视区域中输出流程异常终止消息。
请参考图8,图8为本发明实施例所提供的一种电子设备的结构框图,该设备包括:
存储器10,用于存储计算机程序;
处理器20,用于执行所述计算机程序时,以实现上述的RPA流程调试方法。
如图8所示,为电子设备的结构示意图,可以包括:存储器10、处理器20、通信接口31、输入输出接口32以及通信总线33。
在本发明实施例中,存储器10中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器10中可以存储有用于实现以下功能的程序:
获取待调试的RPA流程;所述RPA流程包含可视化的指令组件;
将所述RPA流程转换为代码文件,并在转换过程中记录所述指令组件与所述代码文件中的代码行号之间的行号映射关系;
利用调试器对所述代码文件进行调试,并在接收到所述调试器返回的提示消息时,根据所述行号映射关系及所述提示消息中的代码行号确定所述提示消息对应的指令组件。
在一种可能的实现方式中,存储器10可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
此外,存储器10可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括NVRAM。存储器存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可以包括各种系统程序,用于实现各种基础任务以及处理基于硬件的任务。
处理器20可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件,处理器20可以是微处理器或者也可以是任何常规的处理器等。处理器20可以调用存储器10中存储的程序。
通信接口31可以为用于与其他设备或者系统连接的接口。
输入输出接口32可以为用于获取外界输入数据或向外界输出数据的接口。
当然,需要说明的是,图3所示的结构并不构成对本申请实施例中电子设备的限定,在实际应用中电子设备可以包括比图3所示的更多或更少的部件,或者组合某些部件。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机可执行指令,计算机可执行指令被处理器加载并执行时,实现上述RPA流程调试方法,例如可实现获取待调试的RPA流程;RPA流程包含可视化的指令组件;将RPA流程转换为代码文件,并在转换过程中记录指令组件与代码文件中的代码行号之间的行号映射关系;利用调试器对代码文件进行调试,并在接收到调试器返回的提示消息时,根据行号映射关系及提示消息中的代码行号确定提示消息对应的指令组件。
由于计算机可读存储介质部分的实施例与上述RPA流程调试方法的实施例类似,因此计算机可读存储介质部分的实施例可参考上述实施例,此处不再赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种RPA流程调试方法、装置、电子设备及存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种RPA流程调试方法,其特征在于,包括:
获取待调试的RPA流程;所述RPA流程包含可视化的指令组件;
将所述RPA流程转换为代码文件,并在转换过程中记录所述指令组件与所述代码文件中的代码行号之间的行号映射关系;
利用调试器对所述代码文件进行调试,并在接收到所述调试器返回的提示消息时,根据所述行号映射关系及所述提示消息中的代码行号确定所述提示消息对应的指令组件。
2.根据权利要求1所述的RPA流程调试方法,其特征在于,所述将所述RPA流程转换为代码文件,并在转换过程中记录所述指令组件与所述代码文件中的代码行号之间的行号映射关系,包括:
将所述RPA流程中的各RPA子流程转换为对应的代码文件,并在转换过程中记录各所述RPA子流程中的指令组件与各所述代码文件中的代码行号之间的行号映射关系;
利用各所述RPA子流程的流程名称对各所述RPA子流程的代码文件进行命名,并记录各所述流程名称与各所述RPA子流程的行号映射关系间的对应关系;
所述根据所述行号映射关系及所述提示消息中的代码行号确定所述提示消息对应的指令组件,包括:
根据所述对应关系及所述提示消息中的代码文件名称确定对应的目标RPA子流程及目标行号映射关系;
根据所述目标行号映射关系及所述提示消息中的代码行号在所述目标RPA子流程中确定所述提示消息对应的指令组件。
3.根据权利要求1所述的RPA流程调试方法,其特征在于,在根据所述行号映射关系及所述提示消息中的代码行号确定所述提示消息对应的指令组件之后,还包括:
根据所述RPA流程的编排模式调整可视化界面,以使所述提示消息对应的指令组件位于所述可视化界面的可视区域;
根据所述提示消息对应的提示形式,将所述提示消息输出至对应的指令组件。
4.根据权利要求1所述的RPA流程调试方法,其特征在于,还包括:
接收输入的断点调整信息,并确定所述断点调整信息中的待调整指令组件和调整状态;
当确定所述调整状态为增加断点时,根据所述行号映射关系确定所述待调整指令组件对应的代码行号,并设置所述待调整指令组件与对应代码行号间的断点映射关系;
当确定所述调整状态为删除断点时,删除所述待调整指令组件对应的断点映射关系;
所述利用调试器对所述代码文件进行调试,包括:
根据所述断点映射关系中包含的代码行号组装断点调试命令;
将所述断点调试命令发送至所述调试器,以使所述调试器根据所述断点调试命令中的代码行号在所述代码文件中设置断点,并基于断点模式对所述代码文件进行调试。
5.根据权利要求4所述的RPA流程调试方法,其特征在于,所述提示消息包括所述调试器中的调试模块返回的调试消息;
在接收到所述调试器返回的提示消息之后,还包括:
当无法根据所述行号映射关系查询到与所述调试消息中的代码行号对应的指令组件时,判断所述调试消息中的代码行号是否小于所述指令组件在所述代码文件对应的最大代码行号;
若是,则控制所述调试器基于单步模式对所述代码文件进行调试;
若否,则控制所述调试器继续对所述代码文件进行调试。
6.根据权利要求1所述的RPA流程调试方法,其特征在于,所述利用调试器对所述代码文件进行调试,包括:
利用所述调试器中的执行内核为各所述指令组件对应的代码包裹Try/except语句,并利用所述执行内核执行包裹有所述Try/except语句的代码;
将所述执行内核在执行包裹有所述Try/except语句的代码并抛出异常时产生的异常回溯消息输出至本地文件。
7.根据权利要求1所述的RPA流程调试方法,其特征在于,在根据所述行号映射关系及所述提示消息中的代码行号确定所述提示消息对应的指令组件之后,还包括:
判断流程异常终止消息中的代码行号是否与所述RPA流程中的指令组件对应;所述提示消息包括所述流程异常终止消息,所述调试器中的执行内核在确定所述RPA流程异常终止时产生所述流程异常终止消息;
若是,则将所述流程异常终止消息输出至对应的指令组件;
若否,则在可视化界面的可视区域中输出所述流程异常终止消息。
8.一种RPA流程调试装置,其特征在于,包括:
获取模块,用于获取待调试的RPA流程;所述RPA流程包含可视化的指令组件;
转换模块,用于将所述RPA流程转换为代码文件,并在转换过程中记录所述指令组件与所述代码文件中的代码行号之间的行号映射关系;
调试模块,用于利用调试器对所述代码文件进行调试,并在接收到所述调试器返回的提示消息时,根据所述行号映射关系及所述提示消息中的代码行号确定所述提示消息对应的指令组件。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的RPA流程调试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至7任一项所述的RPA流程调试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311438384.0A CN117520155A (zh) | 2023-10-30 | 2023-10-30 | 一种rpa流程调试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311438384.0A CN117520155A (zh) | 2023-10-30 | 2023-10-30 | 一种rpa流程调试方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117520155A true CN117520155A (zh) | 2024-02-06 |
Family
ID=89748681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311438384.0A Pending CN117520155A (zh) | 2023-10-30 | 2023-10-30 | 一种rpa流程调试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117520155A (zh) |
-
2023
- 2023-10-30 CN CN202311438384.0A patent/CN117520155A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6981248B2 (en) | Conditional breakpoint encountered indication | |
US7343588B2 (en) | Method of generating and utilizing debug history | |
US6964036B2 (en) | Descriptive variables while debugging | |
US7178135B2 (en) | Scope-based breakpoint selection and operation | |
US7299456B2 (en) | Run into function | |
EP2017983A1 (en) | A debugging method and apparatus for performing telecom class service development based on model driven | |
US20030131342A1 (en) | Debugger with activity alert | |
JPH02272645A (ja) | プログラム・デバツグ支援方法 | |
Porkoláb et al. | Codecompass: an open software comprehension framework for industrial usage | |
US6598181B1 (en) | Method and system for debugging multiple function calls | |
CN115934566A (zh) | 一种调试信息显示方法、装置、电子设备及存储介质 | |
CN117520155A (zh) | 一种rpa流程调试方法、装置、电子设备及存储介质 | |
US20030018957A1 (en) | Debugger monitor with anticipatory highlights | |
CN110377401B (zh) | 基于idea的事务请求处理方法、装置、服务器和存储介质 | |
CN114398290B (zh) | 一种程序调试方法、装置、设备及介质 | |
CN117573565B (zh) | 调试历史信息复现方法、装置及存储介质 | |
CN111611161B (zh) | 一种应用于航空电子软件的轻量级调试工具的实现方法 | |
US11995146B1 (en) | System and method for displaying real-time code of embedded code in a browser-window of a software application | |
JP2001034503A (ja) | ブレークポイント設定方法及び障害解析装置 | |
KR20020055528A (ko) | 멀티 태스크 프로그램의 논스톱 디버깅을 위한트레이스포인트 설정 방법 | |
US20050015677A1 (en) | Method of executing a computer program | |
US20110209122A1 (en) | Filtered presentation of structured data at debug time | |
CN111858329A (zh) | 一种目标公共信息模型接口测试方法和装置 | |
CN118227441A (zh) | 测试系统和测试方法 | |
CN117453545A (zh) | 断点调试方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |