CN111782525B - Java方法远程调试方法及装置 - Google Patents
Java方法远程调试方法及装置 Download PDFInfo
- Publication number
- CN111782525B CN111782525B CN202010612014.4A CN202010612014A CN111782525B CN 111782525 B CN111782525 B CN 111782525B CN 202010612014 A CN202010612014 A CN 202010612014A CN 111782525 B CN111782525 B CN 111782525B
- Authority
- CN
- China
- Prior art keywords
- debugging
- target
- remote
- rule
- instruction
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 288
- 230000008569 process Effects 0.000 claims abstract description 92
- 238000012544 monitoring process Methods 0.000 claims description 61
- 238000004891 communication Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 claims description 12
- 230000005856 abnormality Effects 0.000 claims description 9
- 238000011161 development Methods 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 9
- 238000012806 monitoring device Methods 0.000 description 7
- 239000000872 buffer Substances 0.000 description 4
- 238000009434 installation Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual 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/3664—Environments for testing or debugging software
-
- 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/3644—Software debugging by instrumenting at runtime
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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
本发明提供了Java方法远程调试方法及装置,方法包括:连接远程目标服务器的目标进程;接收用户定义的目标调试方法及其调试规则;接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试。本发明可以直接监控远程的Java方法执行情况,并支持方法回放,方便在本地开发环境更高效的调试远程服务器上的代码。
Description
技术领域
本发明涉及计算机技术,具体的讲是一种Java方法远程调试方法及装置。
背景技术
对于Java工程师来说,大部分工程师都使用集成开发环境(IDE)调试本地代码,对于线上环境,也可以使用IDE远程调试线上代码,通常调试的目标是某个Java方法。
但是,通过现有技术,无法监控目标方法(即Java中的方法)的执行情况,如监控目标方法的入参、返回值、异常、方法的执行耗时等数据,通过远程debug能力仅能截获单次执行,无法实现监控能力。其次,远程调试完,如果想对修改后的程序进行验证,则需尝试在远程线上重新复现,很多时候是很困难的。
发明内容
为了弥补现有技术在远程方法调试能力上的缺失,本发明提供了一种Java方法远程调试方法,方法包括:
连接远程目标服务器的目标进程;
接收用户定义的目标调试方法及其调试规则;
接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试。
本发明实施例中,所述的连接远程目标服务器的目标进程包括:
接收用户输入的远程目标服务器的IP地址、目标进程关键字;
根据所述的目标服务器的IP地址、目标进程关键字利用jdk的动态进程通信技术连接远程目标服务器的目标进程。
本发明实施例中,所述的接收用户定义的目标调试方法及其调试规则包括:
接收用户利用IDE插件定义的目标调试方法及其调试规则;其中,
所述调试规则包括:目标调试方法所在类的全限定名、方法名、是否监控入参、是否监控返回值、是否监控异常及触发条件。
本发明实施例中,所述的调试指令包括:监控指令、回放指令。
本发明实施例中,所述的接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试包括:
接收监控指令;
根据所述调试规则将所述监控指令下发到目标服务器的目标进程执行监控逻辑。
本发明实施例中,所述的接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试包括:
接收回放指令;
根据用户设置的回放场景、所述调试规则将所述回放指令下发到目标服务器的目标进程执行回放逻辑。
同时,本发明还提供一种Java方法远程调试装置,包括:
进程连接模块,用于连接远程目标服务器的目标进程;
规则定义模块,接收用户定义的目标调试方法及其调试规则;
方法调试模块,用于接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试。
本发明实施例中,所述的进程连接模块包括:
目标参数接收单元,用于接收用户输入的远程目标服务器的IP地址、目标进程关键字;
连接单元,用于根据所述的目标服务器的IP地址、目标进程关键字利用jdk的动态进程通信技术连接远程目标服务器的目标进程。
本发明实施例中,所述的规则定义模块用于接收用户利用IDE插件定义的目标调试方法及其调试规则;其中,
所述调试规则包括:目标调试方法所在类的全限定名、方法名、是否监控入参、是否监控返回值、是否监控异常及触发条件。
本发明实施例中,所述的方法调试模块包括:
指令接收单元,用于接收监控指令;
调试执行单元,用于根据所述调试规则将所述监控指令下发到目标服务器的目标进程执行监控逻辑。
本发明实施例中,所述的接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试包括:
指令接收单元,用于接收回放指令;
调试执行单元,用于根据用户设置的回放场景、所述调试规则将所述回放指令下发到目标服务器的目标进程执行回放逻辑。
同时,本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法。
同时,本发明还提供一种计算机可读存储介质,计算机可读存储介质存储有执行上述方法的计算机程序。
本发明提供的Java方法远程调试方法及装置,提供了一种基于远程方法监控与回放装置与方法,可以直接监控远程的Java方法执行情况,并支持方法回放,方便在本地开发环境更高效的调试远程服务器上的代码。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种Java方法远程调试方法的流程图;
图2为本发明提供的一种Java方法远程调试装置的框图;
图3为本发明实施例提供的系统结构框图;
图4为本发明实施例中装置1内部结构示意图
图5为本发明实施例中装置2内部结构示意图
图6为本发明实施例中装置3内部结构示意图
图7为本发明实施例中装置4内部结构示意图
图8为本发明实施例中方法的流程图;
图9为本发明实施例提供的电子设备示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,无法监控Java方法的执行情况,无法实现监控能力。其次,远程调试完,如果想对修改后的程序进行验证,则需尝试在远程线上重新复现,很多时候是很困难的。在这种背景下,如何通过IDE监控远程方法的调用情况,并能根据调用情况对方法的执行进行回放,是本发明要解决的问题。
如图1所示,为本发明提供的一种Java方法远程调试方法的流程图,如图1所示,该方法包括:
步骤S001,连接远程目标服务器的目标进程;
步骤S002,接收用户定义的目标调试方法及其调试规则;
步骤S003,接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试。
本发明实施例中,所述的连接远程目标服务器的目标进程包括:
接收用户输入的远程目标服务器的IP地址、目标进程关键字;
根据所述的目标服务器的IP地址、目标进程关键字利用jdk的动态进程通信技术连接远程目标服务器的目标进程。
本发明实施例提供的Java方法远程调试方法,在执行调试后,将执行调试后生成的调试信息返回IDE,为开发者在本地监控远程方法执行情况并进行方法回放提供了便利,极大的提高了研发效率。
IDE,集成开发环境(IDE,Integrated Development Environment)是用于提供程序开发环境的应用程序,一般包括:代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。如微软的Visual Studio系列,Borland的C++Builder、Delphi系列等。该程序可以独立运行,也可以和其它程序并用。
本发明实施例中,所述的接收用户定义的目标调试方法及其调试规则包括:
接收用户利用IDE插件定义的目标调试方法及其调试规则;其中,
所述调试规则包括:目标调试方法所在类的全限定名、方法名、是否监控入参、是否监控返回值、是否监控异常及触发条件。
本发明实施例中,所述的调试指令包括:监控指令、回放指令。
本发明实施例中,所述的接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试包括:
接收监控指令;
根据所述调试规则将所述监控指令下发到目标服务器的目标进程执行监控逻辑。
本发明实施例中,所述的接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试包括:
接收回放指令;
根据用户设置的回放场景、所述调试规则将所述回放指令下发到目标服务器的目标进程执行回放逻辑。
本发明还提供一种Java方法远程调试装置,如图2所示,该装置包括:
进程连接模块201,用于连接远程目标服务器的目标进程;
规则定义模块202,接收用户定义的目标调试方法及其调试规则;
方法调试模块203,用于接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试。
本发明实施例中,所述的进程连接模块201包括:
目标参数接收单元,用于接收用户输入的远程目标服务器的IP地址、目标进程关键字;
连接单元,用于根据所述的目标服务器的IP地址、目标进程关键字利用jdk的动态进程通信技术连接远程目标服务器的目标进程。
本发明实施例中,所述的规则定义模块202用于接收用户利用IDE插件定义的目标调试方法及其调试规则;其中,
所述调试规则包括:目标调试方法所在类的全限定名、方法名、是否监控入参、是否监控返回值、是否监控异常及触发条件。
本发明实施例中,所述的方法调试模块203包括:
指令接收单元,用于接收监控指令;
调试执行单元,用于根据所述调试规则将所述监控指令下发到目标服务器的目标进程执行监控逻辑。
本发明实施例中,所述的接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试包括:
指令接收单元,用于接收回放指令;
调试执行单元,用于根据用户设置的回放场景、所述调试规则将所述回放指令下发到目标服务器的目标进程执行回放逻辑。
下面结合具体的实施例对本发明的技术方案做进一步详细说明如下:
本实施例基于IDE插件技术、JVM实时Attach技术、字节码增强技术,提出一种便捷的远程方法监控与回放装置及方法。通过提供IDE插件,实时监控指定方法的执行情况,并能将方法执行历史直观的在IDE上展示给开发者,开发者可以根据执行信息选择需要回放的现场,实现方法重放能力。
JVM实时Attach技术,简单说就是jdk的一些工具类提供的一种jvm进程间通信的能力,能够实现让一个进程传命令给另外一个进程,并让它执行内部的一些操作。Attach机制可以对目标进程收集很多信息,如内存dump,线程dump,类信息统计(比如加载的类及大小以及实例个数等),动态加载agent,动态设置vm flag,打印vm flag,获取系统属性等。
字节码增强指的是在Java字节码生成之后,对其进行修改,增强其功能,这种方式相当于对应用程序的二进制文件进行修改。常见的字节码增强技术包括:Java自带的动态代理、ASM及Javassist。
如图3所示,是本实施例提供的方法监控与回放装置的结构框图,包括:
规则定义装置1、方法监控装置2、方法回放装置3、远程连接装置4。规则定义装置1与方法监控装置2相连;方法监控装置2与方法回放装置3相连;方法监控装置2与远程连接装置4相连;方法回放装置3与远程连接装置4相连。其中,
规则定义装置1:通过IDE开发插件,开发者或用户通过插件在图形界面提供监控规则信息,包括:方法所在类的全限定名、方法名、是否监控入参、是否监控返回值、是否监控异常、触发条件。触发条件支持对入参、耗时、返回值进行大小比较(大于、小于、等于),例如只有当目标方法执行超过500ms时才进行监控,再比如只有当目标方法的第一个输入参数值等于0时才对其做监控。
方法监控装置2:根据装置1定义的监控规则实时监控远程jvm中指定方法的运行情况,并在IDE中展示。
方法回放装置3:根据开发者选择的执行历史,对方法的执行进行回放。
远程连接装置4:开发者输入远程机器的ip地址、目标进程关键字,将远程调试jar下发到目标服务器,远程调试jar使用jdk的动态attach连接服务器上的目标进程。
图4是本实施例中规则定义装置1内部结构框图,如图2所示,规则定义装置1包括:规则定义单元11、规则查询单元12;其中:
规则定义单元11:通过IDE开发插用来给开发者定义要监控的方法和监控的规则,开发者通过插件在图形界面提供相关信息,包括方法所在类的全限定名、方法名、是否监控入参、是否监控返回值、是否监控异常、触发条件。触发条件支持对入参、耗时、返回值进行大小比较(大于、小于、等于),例如只有当目标方法执行超过500ms时才进行监控,再比如只有当目标方法的第一个输入参数值等于0时才对其做监控。规则定义好后,保存在内存中。
规则查询单元12:利用IDE展示已定义好的规则。
图5是本实施例中,方法监控装置2的内部结构示意图,如图5所示,方法监控装置2包括:方法监控单元21、数据存储单元22、数据展示单元23,其中:
方法监控单元21:通过远程连接装置4下发监控指令到远程服务器上的目标进程。监控指令会对目标方法所在的目标类进行字节码增强,根据装置1定义的规则织入监控逻辑。当方法被调用时,对方法执行信息进行拦截,根据监控规则,采集入参、耗时、返回值、异常值,并返回。
数据存储单元22:将方法监控单元21采集到的方法监控数据,存储到本地文件。
数据展示单元23:对本地文件中的监控数据进行可视化展示,方便开发者直观的观测方法执行情况。
图6是本实施例中方法回放装置3的内部结构示意图,方法回放装置3包括:方法回放单元31、结果展示单元32,其中:
方法回放单元31:开发者在数据展示单元23选择需要回放的现场,方法回放单元31通过远程连接装置4下发回放指令到远程服务器上的目标进程,回放指令会根据数据展示单元23中用户选择的现场信息(即类名、方法名、入参),通过字节码增强织入的回放逻辑,对方法进行回放,即重新执行一次方法。执行完后将方法执行信息返回IDE,开发者也可以对重放后的方法进行断点调试。
结果展示单元32:展示此次回放后方法的执行信息,如入参、返回值、异常值、耗时。
图7是本实施例中远程连接装置4的内部结构示意图,如图5所示,远程连接装置4包括:远程连接单元41、介质获取单元42、指令执行单元43:
远程连接单元41:开发者输入远程机器的ip地址、目标进程关键字,连接单元41向介质获取单元42发送安装指令,调试介质安装成功后,使用jdk的动态attach连接服务器上的目标进程,并暴露出来端口供指令执行单元43后续通讯使用。
介质获取单元42:即部署在服务器上的agent(可以理解成一个小的进程),监听固定端口,收到远程连接单元41的安装指令,则从文件服务器拉取调试介质(之前安装过的不需要重复安装),并解压。
指令执行单元43:根据开发者输入的指令(如监控指令、回放指令),与服务端上的调试进程通讯,调试进程已经连接到目标进程,可以直接执行目标进程上的逻辑。
如图8所示,本实施例中利用上述的装置实现方法的步骤,具体如下:
步骤S101:开发者通过远程连接装置4连接到远程目标服务器上的目标进程,并安装调试程序,调试程序使用jdk的动态attach技术,连接到目标Java进程上。
步骤S102:开发者通过IDE插件定义要监控的方法和监控的规则。
步骤S103:方法监控装置2根据用户定义的规则,下发监控指令到目标服务器上的调试进程,调试进程在目标进程上执行监控逻辑,监控方法调用情况,并返回IDE。
步骤S104:方法回放装置3根据用户选择的回放现场,下发指令到目标服务器上的调试进程,调试进程在目标进程上执行回放逻辑,并返回执行信息。
步骤S105:在IDE中查看回放后的执行情况。
本实施例通过提供一种基于IDE的远程方法监控与回放装置与方法,为开发者在本地监控远程方法执行情况并进行方法回放提供了便利,极大的提高了研发效率。创新性的借助IDE提供远程方法监控能力,方便开发者直接在本地监控远程的代码执行情况。创新性的借助IDE提供远程方法回放能力,方便开发者验证代码。
本实施例还提供一种电子设备,该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照前述方法及装置的实施例,其内容被合并于此,重复之处不再赘述。
图9为本发明实施例的电子设备600的系统构成的示意框图。如图9所示,该电子设备600可以包括中央处理器100和存储器140;存储器140耦合到中央处理器100。值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,Java方法远程调试功能可以被集成到中央处理器100中。其中,中央处理器100可以被配置为进行如下控制:
连接远程目标服务器的目标进程;
接收用户定义的目标调试方法及其调试规则;
接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试。
本发明实施例中,所述的连接远程目标服务器的目标进程包括:
接收用户输入的远程目标服务器的IP地址、目标进程关键字;
根据所述的目标服务器的IP地址、目标进程关键字利用jdk的动态进程通信技术连接远程目标服务器的目标进程。
本发明实施例中,所述的接收用户定义的目标调试方法及其调试规则包括:
接收用户利用IDE插件定义的目标调试方法及其调试规则;其中,
所述调试规则包括:目标调试方法所在类的全限定名、方法名、是否监控入参、是否监控返回值、是否监控异常及触发条件。
本发明实施例中,所述的调试指令包括:监控指令、回放指令。
本发明实施例中,所述的接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试包括:
接收监控指令;
根据所述调试规则将所述监控指令下发到目标服务器的目标进程执行监控逻辑。
本发明实施例中,所述的接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试包括:
接收回放指令;
根据用户设置的回放场景、所述调试规则将所述回放指令下发到目标服务器的目标进程执行回放逻辑。
在另一个实施方式中,JAVA方法远程调试可以与中央处理器100分开配置,例如可以将JAVA方法远程调试配置为与中央处理器100连接的芯片,通过中央处理器的控制来实现Java方法远程调试功能。
如图9所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图9中所示的所有部件;此外,电子设备600还可以包括图9中没有示出的部件,可以参考现有技术。
如图9所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
本发明实施例还提供一种计算机可读程序,其中当在电子设备中执行所述程序时,所述程序使得计算机在所述电子设备中执行如上面实施例所述的Java方法远程调试方法。
本发明实施例还提供一种存储有计算机可读程序的存储介质,其中所述计算机可读程序使得计算机在电子设备中执行上面实施例所述的Java方法远程调试。
以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此所附权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种Java方法远程调试方法,其特征在于,所述的方法包括:
连接远程目标服务器的目标进程;
接收用户定义的目标调试方法及其调试规则;
接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试;
所述的连接远程目标服务器的目标进程包括:
接收用户输入的远程目标服务器的IP地址、目标进程关键字;
根据所述的目标服务器的IP地址、目标进程关键字利用jdk的动态进程通信技术连接远程目标服务器的目标进程;
所述的接收用户定义的目标调试方法及其调试规则包括:
接收用户利用IDE插件定义的目标调试方法及其调试规则;其中,
所述调试规则包括:目标调试方法所在类的全限定名、方法名、是否监控入参、是否监控返回值、是否监控异常及触发条件;
所述的调试指令包括:监控指令、回放指令。
2.如权利要求1所述的Java方法远程调试方法,其特征在于,所述的接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试包括:
接收监控指令;
根据所述调试规则将所述监控指令下发到目标服务器的目标进程执行监控逻辑。
3.如权利要求1所述的Java方法远程调试方法,其特征在于,所述的接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试包括:
接收回放指令;
根据用户设置的回放场景、所述调试规则将所述回放指令下发到目标服务器的目标进程执行回放逻辑。
4.一种Java方法远程调试装置,其特征在于,所述的装置包括:
进程连接模块,用于连接远程目标服务器的目标进程;
规则定义模块,接收用户定义的目标调试方法及其调试规则;
方法调试模块,用于接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试;
所述的进程连接模块包括:
目标参数接收单元,用于接收用户输入的远程目标服务器的IP地址、目标进程关键字;
连接单元,用于根据所述的目标服务器的IP地址、目标进程关键字利用jdk的动态进程通信技术连接远程目标服务器的目标进程;
所述的规则定义模块用于接收用户利用IDE插件定义的目标调试方法及其调试规则;其中,
所述调试规则包括:目标调试方法所在类的全限定名、方法名、是否监控入参、是否监控返回值、是否监控异常及触发条件;
所述的调试指令包括:监控指令、回放指令。
5.如权利要求4所述的Java方法远程调试装置,其特征在于,所述的方法调试模块包括:
指令接收单元,用于接收监控指令;
调试执行单元,用于根据所述调试规则将所述监控指令下发到目标服务器的目标进程执行监控逻辑。
6.如权利要求4所述的Java方法远程调试装置,其特征在于,所述的接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试包括:
指令接收单元,用于接收回放指令;
调试执行单元,用于根据用户设置的回放场景、所述调试规则将所述回放指令下发到目标服务器的目标进程执行回放逻辑。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3任一项所述方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至3任一项所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010612014.4A CN111782525B (zh) | 2020-06-30 | 2020-06-30 | Java方法远程调试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010612014.4A CN111782525B (zh) | 2020-06-30 | 2020-06-30 | Java方法远程调试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782525A CN111782525A (zh) | 2020-10-16 |
CN111782525B true CN111782525B (zh) | 2023-08-22 |
Family
ID=72760370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010612014.4A Active CN111782525B (zh) | 2020-06-30 | 2020-06-30 | Java方法远程调试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782525B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256570B (zh) * | 2020-10-19 | 2023-08-11 | 网易(杭州)网络有限公司 | 远程调试方法、装置、设备及存储介质 |
CN113836046B (zh) * | 2021-11-29 | 2022-02-15 | 武汉天喻信息产业股份有限公司 | Mcu上虚拟机应用程序调试方法及系统 |
CN114745418B (zh) * | 2022-04-14 | 2024-07-09 | 抖音视界有限公司 | 一种任务访问方法、装置、设备及存储介质 |
CN117667722B (zh) * | 2023-12-08 | 2024-07-23 | 中科世通亨奇(北京)科技有限公司 | 程序跟踪调试的方法、系统、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001093043A1 (en) * | 2000-03-27 | 2001-12-06 | Accenture Llp | System, method, and article of manufacture for an automated scripting solution for enterprise testing |
CN102129408A (zh) * | 2011-04-14 | 2011-07-20 | 电子科技大学 | 一种基于记录回放技术的嵌入式软件调试装置和方法 |
CN106254436A (zh) * | 2016-07-28 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 一种远程调试的方法、相关设备及系统 |
CN109344065A (zh) * | 2018-09-27 | 2019-02-15 | 迈普通信技术股份有限公司 | 远程调试方法、调试服务器及目标机 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017134677A1 (en) * | 2016-02-06 | 2017-08-10 | Picangelo Ltd. | Methods and systems for software related problem solution |
-
2020
- 2020-06-30 CN CN202010612014.4A patent/CN111782525B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001093043A1 (en) * | 2000-03-27 | 2001-12-06 | Accenture Llp | System, method, and article of manufacture for an automated scripting solution for enterprise testing |
CN102129408A (zh) * | 2011-04-14 | 2011-07-20 | 电子科技大学 | 一种基于记录回放技术的嵌入式软件调试装置和方法 |
CN106254436A (zh) * | 2016-07-28 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 一种远程调试的方法、相关设备及系统 |
CN109344065A (zh) * | 2018-09-27 | 2019-02-15 | 迈普通信技术股份有限公司 | 远程调试方法、调试服务器及目标机 |
Also Published As
Publication number | Publication date |
---|---|
CN111782525A (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782525B (zh) | Java方法远程调试方法及装置 | |
CN109471768B (zh) | 业务问题的监控方法、装置以及电子设备 | |
KR100985749B1 (ko) | 내장형 시스템 소프트웨어 자동 테스트 시스템 및 방법과테스트 시나리오 작성 방법 | |
CN111797015B (zh) | 一种基于动态字节码的测试方法及装置 | |
CN110795353B (zh) | 快应用的调试方法、装置、设备及存储介质 | |
CN111324480A (zh) | 大型主机交易故障定位系统及方法 | |
CN113448690A (zh) | 监测方法及装置 | |
CN110045952B (zh) | 代码调用方法与装置 | |
CN113760611B (zh) | 系统站点切换方法、装置、电子设备及存储介质 | |
CN113157559B (zh) | 流量筛选方法及装置 | |
CN112965896A (zh) | 基于动态字节码的测试环境故障检测方法及装置 | |
CN118550518A (zh) | 一种基于零代码定义业务流转规则的表单生成方法及系统 | |
CN117632746A (zh) | 一种插桩处理方法、装置、存储介质及电子设备 | |
CN116795712A (zh) | 反向调试方法、调试方法、计算设备及存储介质 | |
CN110851313B (zh) | 一种传感器调试方法、智能终端、存储介质及电子设备 | |
CN112740187A (zh) | 调试程序的方法和系统 | |
CN112506782B (zh) | 一种应用程序的测试方法、装置、设备及存储介质 | |
CN115941098A (zh) | 车载电台参数的调整方法、系统、电子设备及存储介质 | |
CN115658500A (zh) | 一种混合开发中基于vue的前端错误日志上传方法及系统 | |
CN113806233A (zh) | 程序崩溃信息的获取方法、装置、电子设备及存储介质 | |
CN109684525B (zh) | 文档显示方法、装置、存储介质及测试设备 | |
CN109634636B (zh) | 应用处理方法、装置、设备和介质 | |
CN113805854A (zh) | 基于Linux系统的应用层Hook实现方法、系统、装置及存储介质 | |
CN113297095A (zh) | 一种子程序调用路径分支的确定方法及装置 | |
CN113535029A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |