CN103514072A - 一种用于可视化编程的图形化业务的调试方法及装置 - Google Patents
一种用于可视化编程的图形化业务的调试方法及装置 Download PDFInfo
- Publication number
- CN103514072A CN103514072A CN201210217401.3A CN201210217401A CN103514072A CN 103514072 A CN103514072 A CN 103514072A CN 201210217401 A CN201210217401 A CN 201210217401A CN 103514072 A CN103514072 A CN 103514072A
- Authority
- CN
- China
- Prior art keywords
- breakpoint
- self
- debugging
- program
- debugging mode
- 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.)
- Granted
Links
Images
Abstract
本发明公开了一种调试模式的拓展方法和装置,所述方法包括:在程序启动前,在图形化业务上设置指定图形自定义断点;在设置指定图形自定义断点之后,程序启动并运行到所设置的断点处时中断,使图形化设计器进入调试模式;在图形化设计器进入调试模式后,弹出程序在断点处的信息。本发明的调试模式能够很好地对图形化设计器设计的业务进行很好的支撑;可以在图形化业务上设置和取消断点;程序可以在断点处中断;可以进入调试模式打开自定义的调试页面。
Description
技术领域
本发明涉及图形化开发工具及可视化调试环境,尤其涉及一种用于可视化编程的图形化业务的调试方法及装置。
背景技术
随着计算机软件工程技术的迅速发展,可视化编程技术已经成为当今软件开发的重要工具和手段,尤其是eclipse可视化编程工具等开发工具的出现,大大推动了可视化编程技术的发展和应用。一个图形化设计器,它允许开发人员以图形化的方式展示和编辑数据模型,极大地降低了开发的难度,提高了系统的易用性,从而提升用户体验。可视化编程技术最大的优点是设计人员可以不用编写或只需编写很少的程序代码,就能完成应用系统的设计,这样就能极大地提高设计人员的工作效率。
然而对于图形化设计器,传统的调试模式极不方便,传统的方法是通过打印日志方式进行调试。不能直观的看到调试的状态,程序不能中断,用户无法掌握系统真实的运行情况,传统调试模式不能断点调试。
发明内容
本发明的目的是提供一种可以实现断点调试的用于可视化编程的图形化业务的调试方法。
本发明的另一目的是提供一种实现上述方法的装置。
根据本发明第一方面,提供了一种用于可视化编程的图形化业务的调试方法,包括:
A)程序启动前,在图形化业务上设置指定图形自定义断点;
B)在设置指定图形自定义断点之后,程序启动并运行到所设置的断点处时中断,使图形化设计器进入调试模式;
C)在图形化设计器进入调试模式后,弹出程序在断点处的信息。
在本发明的步骤A)中,通过把指定图形自定义断点的位置信息储存在所述调试器文件中,来设置指定图形的自定义断点。
本发明的方法还包括在步骤A)之后执行的取消自定义断点设置的步骤,该步骤包括:从所述调试文件中去除之前存储的所述指定图形自定义断点的位置信息。
本发明的方法的步骤B)包括:程序运行到断点处时,调用断点切入方法,实现自定义断点和原有代码断点的映射。
本发明的方法的步骤B)还包括:调用断点切入方法后,利用该方法打开指定项目,然后通过入参标签高亮指定的图形。
本发明的方法的步骤C)还包括:通过触发事件,弹出框显示当前断点变量信息。所述触发事件是指,鼠标靠近所述高亮的指定图形时产生的触发事件。
根据本发明第二方面,提供了一种用于可视化编程的图形化业务的调试装置,包括:
设置自定义断点装置,用于在程序启动前,在图形化业务上设置指定图形自定义断点;
程序在自定义断点中断装置,用于使程序在运行到所设置的断点处时中断,以便图形化设计器进入调试模式;
展示自定义断点信息装置,用于在图形化设计器进入调试模式后,弹出程序在断点处的信息。
本发明的装置还包括进入自动以调试模式视图装置,用于在图形化设计器进入调试模式的同时,打开图形化调试模式视图。
相对于现有技术,本发明的技术效果是:其调试模式能够很好地对图形化设计器设计的业务进行很好的支撑。可以在图形化业务上设置和取消断点;程序可以在断点处中断;可以进入调试模式打开自定义的调试页面。
附图说明
图1是本发明的用于可视化编程的图形化业务的调试方法的示意图;
图2是本发明的用于可视化编程的图形化业务的调试装置的示意图;
图3是利用图2所示装置执行本发明的调试方法的流程图;
图4是用来实现了本发明的自定义图形化业务调试方法及装置的调试模块层次结构示意图。
具体实施方式
下面结合附图对本发明的方法及装置进行说明。
图1显示了本发明的一种用于可视化编程的图形化业务的调试方法,包括:
A)程序启动前,在图形化业务上设置指定图形自定义断点;
B)在设置指定图形自定义断点之后,程序启动并运行到所设置的断点处时中断,使图形化设计器进入调试模式;
C)在图形化设计器进入调试模式后,弹出程序在断点处的信息。
在上述步骤A)中,通过把指定图形自定义断点的位置信息储存在所述调试器文件中,来设置指定图形的自定义断点。
本发明的方法还包括在步骤A)之后执行的取消自定义断点设置的步骤,该步骤包括:从所述调试文件中去除之前存储的所述指定图形自定义断点的位置信息。
在本发明方法中,步骤B)包括:程序运行到断点处时,通过调用断点切入方法,实现自定义断点和原有代码断点的映射;并且在调用断点切入方法后,利用该方法打开指定项目,然后通过入参标签高亮指定的图形。
在本发明的方法中,步骤C)还包括:通过触发事件,弹出框显示当前断点变量信息,该触发事件是通过鼠标靠近所述高亮的指定图形时发生的。
图2显示了本发明的用于可视化编程的图形化业务的调试装置,包括:设置和取消自定义断点装置;程序在自定义断点中断装置;进入自定义调试模式视图装置;展示自定义断点信息装置;自定义调试按钮装置;兼容原有调试模式装置。
其中,设置和取消自定义断点装置用于在程序启动前,在图形化业务上设置指定图形自定义断点,或者取消指定图形自定义断点。
具体地说,通过一个debugger.xml文件记录下自定义断点信息。比如在一条连线上打上断点,该连线的唯一标识为f0fe1e27567a443eb0f4b8bed7c29d63。
那么debugger.xml文件的内容为
如果取消这条连线的断点,那么debugger.xml文件的内容变为
程序在自定义断点中断装置,用于使程序在运行到所设置的断点处时中断,以便图形化设计器进入调试模式。
具体地说,程序启动在运行到断点处,调用ZTEBreakpoint.ToDebuggerBreakpoint(String projectName,String tag,Message message)方法。
该方法中存在一个固定的断点。方法的入参是程序运行到断点处的信息,用于装置4展示自定义断点信息。
进入自定义调试模式视图装置用于在图形化设计器进入调试模式的同时,打开图形化调试模式视图。具体地说,图形化设计器对进程进行监控,当进入类ZTEBreakpoint时候,该装置打开图形化调试模式视图,通过入参tag得到需要高亮的连线。
展示自定义断点信息装置用于在图形化设计器进入调试模式后,弹出程序在断点处的信息。也就是说,鼠标靠近高亮的连线时候,自动弹出程序在断点处的信息。该信息是ToDebuggerBreakpoint方法的入参Messagemessage。
自定义调试按钮装置用于自定义调试。具体地说,自定义快捷键F9,在调试模式中,将跳转到下一条连线上。自定义快捷键F8,在调试模式中,将跳转到下一个断点处。
兼容原有调试模式装置用于兼容本发明的图形化业务调试模式和代码调试模式。对原有的代码调试模式有很好的兼容性,程序运行中可以在代码调试模式和图形调试模式之间平滑过渡。如从图形调试模式进入代码调试模式,执行完后返回图形调试模式等等。
图3显示了由图2所示的装置执行本发明方法的流程。
步骤1:设置和取消自定义断点。
断点位置信息是保存在一个名为debugger.xml的文件中。文件内容样式如下所示:
表示在一个标识为f0fe1e27567a443eb0f4b8bed7c29d63的连线上存在了一个断点。在图形化业务界面展示时候,读取debugger.xml文件内容。当一条连线的标识在文件中存在,展示的时候则在这条连线上添加一个断点。
步骤2:如图2所示在设置好自定义断点之后,程序在自定义断点处中断。程序在运行时候,如果发现断点,则进入类ZTEBreakpoint,调用其toDebuggerBreakpoint()方法。在_log.debug(″Debugger IntoZTEBreakpoint″);处存在一个固定断点。从而实现自定义断点和原有代码断点的映射。
步骤3:进入自定义调试模式视图装置。
如果发现调试代码是ZTEBreakpoint.java,则打开图形化调试模式视图。否则使用原有的代码调试视图。从而做到了对原有代码调试模式的兼容。
图形化设计器通过JDI接口,得到方法toDebuggerBreakpoint(StringprojectName,String tag,Message message)的入参的值。
通过projectName打开指定的项目,通过tag高亮指定的连线。
步骤4:展示自定义断点信息。
鼠标靠近高亮连线将触发弹出框事件。显示变量message的值。
步骤5:自定义调试按钮。
通过插件机制扩展自定义快捷键F9,在图形化调试模式中,将跳转到下一条连线上。当在自定义调试模式中按F9后,程序在进入ZTEBreakpoint的toNextLineBreakpoint方法。然后转到步骤3。按快捷键F8,在图形化调试模式中,将跳转到下一断点处上,如果下一个断点是原来的代码断点,则进入到原来的代码调试模式,如果下一个断点是自定义断点则转到步骤3。
图4显示了本发明的调试模块的层次结构,它由四个相对独立的层次共同组成。这四个层次由高到底分别是自定义调试模块、调试接口(JDI)、调试线协议(JDWP)、虚拟机工具接口(JVMTI)。
自定义调试模块通过调试接口向被调试虚拟机发送基于调试线协议的调试命令。调试命令转化为JVMTI的调用,然后运行结果被格式化成JDWP数据包返回给JDI调用,最后自定义调试模块通过调试接口(JDI)得到数据。
本发明的调试模块层次结构描述的是整个调试体系结构。该调试体系结构提供一个平台,在这个平台上可以实现了自定义图形化业务调试方法及装置。调试程序时,需要向虚拟机请求当前运行态的状态,并对虚拟机发出一定的指令,设置一些回调等等。通过这些提供的接口和协议,调试器开发人员就能根据特定开发者的需求,扩展定制调试应用程序,开发出吸引开发人员使用的调试工具,也就是本发明的自定义图形化业务调试器。程序在自定义断点中断的过程通过这个接口和协议完成。
本发明能够很好地对图形化设计器设计的业务进行很好的支撑。可以在图形化业务上设置和取消断点;程序可以在断点处中断;可以进入调试模式打开自定义的调试页面;可以自定义展示断点信息;可以自定义调试按钮;可以兼容原有的调试模式。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
Claims (10)
1.一种用于可视化编程的图形化业务的调试方法,其特征在于,包括:
A)程序启动前,在图形化业务上设置指定图形自定义断点;
B)在设置指定图形自定义断点之后,程序启动并运行到所设置的断点处时中断,使图形化设计器进入调试模式;
C)在图形化设计器进入调试模式后,弹出程序在断点处的信息。
2.根据权利要求1所述的方法,其特征在于,在步骤A)中,通过把指定图形自定义断点的位置信息储存在所述调试器文件中,来设置指定图形的自定义断点。
3.根据权利要求2所述的方法,其特征在于,还包括在步骤A)之后执行的取消自定义断点设置的步骤。
4.根据权利要求3所述的方法,其特征在于,所述的取消自定义断点设置的步骤包括:从所述调试文件中去除之前存储的所述指定图形自定义断点的位置信息。
5.根据权利要求2所述的方法,其特征在于,步骤B)包括:
程序运行到断点处时,调用断点切入方法,实现自定义断点和原有代码断点的映射。
6.根据权利要求5所述的方法,其特征在于,步骤B)还包括:
调用“断点切入方法”后,利用该方法打开指定项目,然后通过入参标签高亮指定的图形。
7.根据权利要求6所述的方法,其特征在于,步骤C)还包括:
通过触发事件,弹出框显示当前断点变量信息。
8.根据权利要求7所述的方法,其特征在于,所述触发事件是指,鼠标靠近所述高亮的指定图形时产生的触发事件。
9.一种用于可视化编程的图形化业务的调试装置,其特征在于,包括:
设置自定义断点装置,用于在程序启动前,在图形化业务上设置指定图形自定义断点;
程序在自定义断点中断装置,用于使程序在运行到所设置的断点处时中断,以便图形化设计器进入调试模式;
展示自定义断点信息装置,用于在图形化设计器进入调试模式后,弹出程序在断点处的信息。
10.根据权利要求9所述的装置,其特征在于,还包括进入自动以调试模式视图装置,用于在图形化设计器进入调试模式的同时,打开图形化调试模式视图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210217401.3A CN103514072B (zh) | 2012-06-28 | 2012-06-28 | 一种用于可视化编程的图形化业务的调试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210217401.3A CN103514072B (zh) | 2012-06-28 | 2012-06-28 | 一种用于可视化编程的图形化业务的调试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103514072A true CN103514072A (zh) | 2014-01-15 |
CN103514072B CN103514072B (zh) | 2017-11-10 |
Family
ID=49896835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210217401.3A Active CN103514072B (zh) | 2012-06-28 | 2012-06-28 | 一种用于可视化编程的图形化业务的调试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103514072B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105511887A (zh) * | 2015-12-28 | 2016-04-20 | 鲍敏祺 | 一种硬件可视化编程构架 |
CN106649822A (zh) * | 2016-12-29 | 2017-05-10 | 深圳市捷顺科技实业股份有限公司 | 一种数据处理方法及装置 |
CN107273449A (zh) * | 2017-05-27 | 2017-10-20 | 北京思特奇信息技术股份有限公司 | 一种基于内存数据库的断点处理方法及系统 |
CN107590070A (zh) * | 2017-08-18 | 2018-01-16 | 深圳怡化电脑股份有限公司 | 一种业务流程调试方法及装置 |
CN107665167A (zh) * | 2016-07-28 | 2018-02-06 | 华为软件技术有限公司 | 程序调试方法、装置及程序开发设备 |
WO2018112852A1 (zh) * | 2016-12-22 | 2018-06-28 | 深圳配天智能技术研究院有限公司 | 基于梯形图编程语言的数控装置、数控系统及其调试方法 |
CN109582561A (zh) * | 2018-10-16 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 一种在线可视化编程的调试方法及装置 |
CN109857651A (zh) * | 2019-01-15 | 2019-06-07 | 龚义萍 | 一种图形化编程的代码调试方法、装置及系统 |
CN114398290A (zh) * | 2022-01-20 | 2022-04-26 | 杭州时代银通软件股份有限公司 | 一种程序调试方法、装置、设备及介质 |
WO2023044879A1 (zh) * | 2021-09-26 | 2023-03-30 | 西门子(中国)有限公司 | 应用程序监控方法、装置及可读存储介质 |
CN116107524A (zh) * | 2023-04-13 | 2023-05-12 | 杭州朗和科技有限公司 | 低代码应用日志处理方法、介质、装置和计算设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020152427A1 (en) * | 2001-04-13 | 2002-10-17 | Lg Electronics Inc. | Debugging apparatus and method |
CN101667156A (zh) * | 2009-09-22 | 2010-03-10 | 中兴通讯股份有限公司 | 一种可视化业务流程调试方法和系统 |
KR20100073180A (ko) * | 2008-12-22 | 2010-07-01 | 한국전자통신연구원 | 시각적 디버깅 장치 및 방법 |
-
2012
- 2012-06-28 CN CN201210217401.3A patent/CN103514072B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020152427A1 (en) * | 2001-04-13 | 2002-10-17 | Lg Electronics Inc. | Debugging apparatus and method |
KR20100073180A (ko) * | 2008-12-22 | 2010-07-01 | 한국전자통신연구원 | 시각적 디버깅 장치 및 방법 |
CN101667156A (zh) * | 2009-09-22 | 2010-03-10 | 中兴通讯股份有限公司 | 一种可视化业务流程调试方法和系统 |
Non-Patent Citations (2)
Title |
---|
LANGGUFU: "Debug---Eclipse断点调试基础", 《ITEYE博客》 * |
田野: "一种图形化工作流建模工具调试机制的设计与实现", 《百度学术》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105511887A (zh) * | 2015-12-28 | 2016-04-20 | 鲍敏祺 | 一种硬件可视化编程构架 |
CN107665167B (zh) * | 2016-07-28 | 2021-04-09 | 华为技术有限公司 | 程序调试方法、装置及程序开发设备 |
CN107665167A (zh) * | 2016-07-28 | 2018-02-06 | 华为软件技术有限公司 | 程序调试方法、装置及程序开发设备 |
WO2018112852A1 (zh) * | 2016-12-22 | 2018-06-28 | 深圳配天智能技术研究院有限公司 | 基于梯形图编程语言的数控装置、数控系统及其调试方法 |
CN106649822A (zh) * | 2016-12-29 | 2017-05-10 | 深圳市捷顺科技实业股份有限公司 | 一种数据处理方法及装置 |
CN107273449A (zh) * | 2017-05-27 | 2017-10-20 | 北京思特奇信息技术股份有限公司 | 一种基于内存数据库的断点处理方法及系统 |
CN107273449B (zh) * | 2017-05-27 | 2020-07-28 | 北京思特奇信息技术股份有限公司 | 一种基于内存数据库的断点处理方法及系统 |
CN107590070B (zh) * | 2017-08-18 | 2020-07-24 | 深圳怡化电脑股份有限公司 | 一种业务流程调试方法及装置 |
CN107590070A (zh) * | 2017-08-18 | 2018-01-16 | 深圳怡化电脑股份有限公司 | 一种业务流程调试方法及装置 |
CN109582561A (zh) * | 2018-10-16 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 一种在线可视化编程的调试方法及装置 |
CN109582561B (zh) * | 2018-10-16 | 2022-02-08 | 创新先进技术有限公司 | 一种在线可视化编程的调试方法及装置 |
CN109857651A (zh) * | 2019-01-15 | 2019-06-07 | 龚义萍 | 一种图形化编程的代码调试方法、装置及系统 |
WO2023044879A1 (zh) * | 2021-09-26 | 2023-03-30 | 西门子(中国)有限公司 | 应用程序监控方法、装置及可读存储介质 |
CN114398290A (zh) * | 2022-01-20 | 2022-04-26 | 杭州时代银通软件股份有限公司 | 一种程序调试方法、装置、设备及介质 |
CN114398290B (zh) * | 2022-01-20 | 2023-02-28 | 杭州时代银通软件股份有限公司 | 一种程序调试方法、装置、设备及介质 |
CN116107524A (zh) * | 2023-04-13 | 2023-05-12 | 杭州朗和科技有限公司 | 低代码应用日志处理方法、介质、装置和计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103514072B (zh) | 2017-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103514072A (zh) | 一种用于可视化编程的图形化业务的调试方法及装置 | |
CN105843630B (zh) | 一种基于机器人图形化编程开发的方法 | |
US10540262B2 (en) | Using edit and continue to dynamically set and unset optimizations in source code while debugging | |
EP2990942B1 (en) | Service extraction and application composition | |
CN109783081A (zh) | 一种应用程序的开发方法、装置及集成开发工具 | |
CN105740139B (zh) | 一种基于虚拟环境的嵌入式软件调试方法 | |
CN103914315A (zh) | 驱动程序的配置方法 | |
CN103678135A (zh) | 大数据环境下实现跨进程与跨线程调试的系统与方法 | |
CN103123598A (zh) | 一种编译型软plc的在线调试实现方法 | |
CN101639805A (zh) | 用于在程序调试中跟踪变量的方法和设备 | |
CN103019697A (zh) | 一种lua脚本的编辑插件 | |
CN104834715A (zh) | 一种基于部件和容器的网站生成方法及系统 | |
CN102541727B (zh) | 一种程序调试方法及系统 | |
CN105843659B (zh) | 一种嵌入式c编译器的实现方法及系统 | |
WO2020073200A1 (zh) | 调试程序的方法和系统 | |
CN110442520A (zh) | 一种基于plc编程语言的交叉调试系统及方法 | |
JP2010287101A (ja) | ソフトウエアデバッグ装置及び方法 | |
JP2011186806A (ja) | デバッグ装置およびデバッグ方法 | |
JPH06332689A (ja) | プログラムの表示方法およびプログラムの編集受付け方法 | |
CN113010434A (zh) | 一种实现轻量级应用埋点的系统和方法 | |
CN116009836B (zh) | 基于脚本语言的rpa编程方法、装置、设备及存储介质 | |
CN114398290B (zh) | 一种程序调试方法、装置、设备及介质 | |
CN112540907B (zh) | 面向异构众核上并行程序的可视化调试方法 | |
CN113760588A (zh) | 一种软件系统的异常信息获取方法和装置 | |
CN117075874A (zh) | Scade模型与c代码的映射工具 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |