CN111782525A - Java方法远程调试方法及装置 - Google Patents

Java方法远程调试方法及装置 Download PDF

Info

Publication number
CN111782525A
CN111782525A CN202010612014.4A CN202010612014A CN111782525A CN 111782525 A CN111782525 A CN 111782525A CN 202010612014 A CN202010612014 A CN 202010612014A CN 111782525 A CN111782525 A CN 111782525A
Authority
CN
China
Prior art keywords
debugging
target
remote
instruction
receiving
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
Application number
CN202010612014.4A
Other languages
English (en)
Other versions
CN111782525B (zh
Inventor
刘慕雨
曹辉健
王泽洋
黄镜澄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202010612014.4A priority Critical patent/CN111782525B/zh
Publication of CN111782525A publication Critical patent/CN111782525A/zh
Application granted granted Critical
Publication of CN111782525B publication Critical patent/CN111782525B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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方法远程调试方法及装置。
背景技术
对于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 (14)

1.一种Java方法远程调试方法,其特征在于,所述的方法包括:
连接远程目标服务器的目标进程;
接收用户定义的目标调试方法及其调试规则;
接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试。
2.如权利要求1所述的Java方法远程调试方法,其特征在于,所述的连接远程目标服务器的目标进程包括:
接收用户输入的远程目标服务器的IP地址、目标进程关键字;
根据所述的目标服务器的IP地址、目标进程关键字利用jdk的动态进程通信技术连接远程目标服务器的目标进程。
3.如权利要求1所述的Java方法远程调试方法,其特征在于,所述的接收用户定义的目标调试方法及其调试规则包括:
接收用户利用IDE插件定义的目标调试方法及其调试规则;其中,
所述调试规则包括:目标调试方法所在类的全限定名、方法名、是否监控入参、是否监控返回值、是否监控异常及触发条件。
4.如权利要求1所述的Java方法远程调试方法,其特征在于,所述的调试指令包括:监控指令、回放指令。
5.如权利要求4所述的Java方法远程调试方法,其特征在于,所述的接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试包括:
接收监控指令;
根据所述调试规则将所述监控指令下发到目标服务器的目标进程执行监控逻辑。
6.如权利要求4所述的Java方法远程调试方法,其特征在于,所述的接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试包括:
接收回放指令;
根据用户设置的回放场景、所述调试规则将所述回放指令下发到目标服务器的目标进程执行回放逻辑。
7.一种Java方法远程调试装置,其特征在于,所述的装置包括:
进程连接模块,用于连接远程目标服务器的目标进程;
规则定义模块,接收用户定义的目标调试方法及其调试规则;
方法调试模块,用于接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试。
8.如权利要求7所述的Java方法远程调试装置,其特征在于,所述的进程连接模块包括:
目标参数接收单元,用于接收用户输入的远程目标服务器的IP地址、目标进程关键字;
连接单元,用于根据所述的目标服务器的IP地址、目标进程关键字利用jdk的动态进程通信技术连接远程目标服务器的目标进程。
9.如权利要求7所述的Java方法远程调试装置,其特征在于,所述的规则定义模块用于接收用户利用IDE插件定义的目标调试方法及其调试规则;其中,
所述调试规则包括:目标调试方法所在类的全限定名、方法名、是否监控入参、是否监控返回值、是否监控异常及触发条件。
10.如权利要求7所述的Java方法远程调试装置,其特征在于,所述的调试指令包括:监控指令、回放指令。
11.如权利要求10所述的Java方法远程调试装置,其特征在于,所述的方法调试模块包括:
指令接收单元,用于接收监控指令;
调试执行单元,用于根据所述调试规则将所述监控指令下发到目标服务器的目标进程执行监控逻辑。
12.如权利要求10所述的Java方法远程调试装置,其特征在于,所述的接收调试指令根据所述的目标调试方法及其调试规则在所述的目标进程执行调试包括:
指令接收单元,用于接收回放指令;
调试执行单元,用于根据用户设置的回放场景、所述调试规则将所述回放指令下发到目标服务器的目标进程执行回放逻辑。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至6任一项所述方法的计算机程序。
CN202010612014.4A 2020-06-30 2020-06-30 Java方法远程调试方法及装置 Active CN111782525B (zh)

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 true CN111782525A (zh) 2020-10-16
CN111782525B 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256570A (zh) * 2020-10-19 2021-01-22 网易(杭州)网络有限公司 远程调试方法、装置、设备及存储介质
CN113836046A (zh) * 2021-11-29 2021-12-24 武汉天喻信息产业股份有限公司 Mcu上虚拟机应用程序调试方法及系统
CN114745418A (zh) * 2022-04-14 2022-07-12 北京字节跳动网络技术有限公司 一种任务访问方法、装置、设备及存储介质
CN117667722A (zh) * 2023-12-08 2024-03-08 中科世通亨奇(北京)科技有限公司 程序跟踪调试的方法、系统、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
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 腾讯科技(深圳)有限公司 一种远程调试的方法、相关设备及系统
US20190050320A1 (en) * 2016-02-06 2019-02-14 Picangelo Ltd. Methods and systems for software related problem solution
CN109344065A (zh) * 2018-09-27 2019-02-15 迈普通信技术股份有限公司 远程调试方法、调试服务器及目标机

Patent Citations (5)

* Cited by examiner, † Cited by third party
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 电子科技大学 一种基于记录回放技术的嵌入式软件调试装置和方法
US20190050320A1 (en) * 2016-02-06 2019-02-14 Picangelo Ltd. Methods and systems for software related problem solution
CN106254436A (zh) * 2016-07-28 2016-12-21 腾讯科技(深圳)有限公司 一种远程调试的方法、相关设备及系统
CN109344065A (zh) * 2018-09-27 2019-02-15 迈普通信技术股份有限公司 远程调试方法、调试服务器及目标机

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256570A (zh) * 2020-10-19 2021-01-22 网易(杭州)网络有限公司 远程调试方法、装置、设备及存储介质
CN112256570B (zh) * 2020-10-19 2023-08-11 网易(杭州)网络有限公司 远程调试方法、装置、设备及存储介质
CN113836046A (zh) * 2021-11-29 2021-12-24 武汉天喻信息产业股份有限公司 Mcu上虚拟机应用程序调试方法及系统
CN113836046B (zh) * 2021-11-29 2022-02-15 武汉天喻信息产业股份有限公司 Mcu上虚拟机应用程序调试方法及系统
CN114745418A (zh) * 2022-04-14 2022-07-12 北京字节跳动网络技术有限公司 一种任务访问方法、装置、设备及存储介质
CN117667722A (zh) * 2023-12-08 2024-03-08 中科世通亨奇(北京)科技有限公司 程序跟踪调试的方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN111782525B (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
CN111782525B (zh) Java方法远程调试方法及装置
US20080209405A1 (en) Distributed debugging for a visual programming language
CN108111364B (zh) 一种业务系统的测试方法及装置
CN107391219B (zh) 函数编译方法和装置
CN111190825A (zh) 自动测试方法、系统及机器人
CN111831542B (zh) Api应用调测方法及装置、存储介质
KR20080052341A (ko) 내장형 시스템 소프트웨어 자동 테스트 시스템 및 방법과테스트 시나리오 작성 방법
CN108241560B (zh) 内存测试方法、装置及电子设备
CN110795353B (zh) 快应用的调试方法、装置、设备及存储介质
CN113296758B (zh) 一种前端组件库构建方法、装置及存储介质
CN112559335A (zh) 测试方法、装置、设备和存储介质
CN115588458A (zh) 存储设备测试方法、系统、设备和可读存储介质
CN112631949B (zh) 一种调试方法、装置、计算机设备及存储介质
CN111435328A (zh) 应用测试方法、装置、电子设备及可读存储介质
CN112740187A (zh) 调试程序的方法和系统
CN109634636B (zh) 应用处理方法、装置、设备和介质
CN113805854A (zh) 基于Linux系统的应用层Hook实现方法、系统、装置及存储介质
CN108848398B (zh) 一种本地弹幕消息的分发方法、装置、终端和存储介质
CN113157559A (zh) 流量筛选方法及装置
CN113973060A (zh) 一种物联网模拟方法、装置、系统及存储介质
CN111026651A (zh) 测试方法、装置、存储介质及电子设备
CN113687879B (zh) 跨平台框架与平台交互库的交互方法及装置
CN111026650B (zh) 软件测试的方法、装置、存储介质和电子设备
CN111158744B (zh) 跨平台异构数据的整合方法及装置
CN115129318A (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