CN115086206A - 一种客户端软件调试方法和装置 - Google Patents

一种客户端软件调试方法和装置 Download PDF

Info

Publication number
CN115086206A
CN115086206A CN202210665551.4A CN202210665551A CN115086206A CN 115086206 A CN115086206 A CN 115086206A CN 202210665551 A CN202210665551 A CN 202210665551A CN 115086206 A CN115086206 A CN 115086206A
Authority
CN
China
Prior art keywords
debugging
client software
message
client
information
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
Application number
CN202210665551.4A
Other languages
English (en)
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
ICBC Technology Co Ltd
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
ICBC Technology Co Ltd
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, ICBC Technology Co Ltd filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202210665551.4A priority Critical patent/CN115086206A/zh
Publication of CN115086206A publication Critical patent/CN115086206A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供了一种客户端软件调试方法和装置,涉及金融技术领域,包括:接收客户端软件的网络接口调用信息查询指令;通过预先设置的网络拦截器获取到所述网络接口的客户端请求报文和服务器响应报文;将所述客户端请求报文和所述服务器响应报文以可视界面的形式显示在调试窗口中。本发明通过预先设置的网络来拦截器来获取网络接口的报文信息,并直接将该报文信息显示在调试窗口中,可以省去调试人员抓包操作,也避免了调试人员抓包失败的情况,调试人员可以快速定位错误信息,提升了调试工作效率。

Description

一种客户端软件调试方法和装置
技术领域
本申请涉及金融技术领域,尤其涉及一种客户端软件调试方法和装置。
背景技术
目前,在移动端项目开发过程中,当一个软件界面上涉及到多个网络接口调用时,不论是调试人员在调试阶段,还是运维人员在线上版本维护阶段,都经常会碰到因为后端接口响应报错导致而导致软件界面产生一系列的未知bug,这种情况一旦出现,排查起来非常麻烦,非常影响调试进度和线上版本用户的体验。面对上述情况,调试人员需要清楚知道某个页面的接口调用情况,现有技术中,调试人员一般是通过代理抓包来获取网络接口的报文信息,但是当软件程序的网络框架设置成防代理抓包时,抓包工具会抓取不到,并且走代理抓包时,软件程序页面会变得特别卡顿,响应特别慢,筛选汇总效率会特别低。
发明内容
有鉴于此,本发提供一种客户端软件调试方法和装置,用于快速且有效地定位到网络接口报错信息,提升软件调试的工作效率。
为了实现上述目的,本发明采用了以下方案:
在本发明的一个实施例中,一种客户端软件调试方法,包括:接收客户端软件的网络接口调用信息查询指令;
通过预先设置的网络拦截器获取到所述网络接口的客户端请求报文和服务器响应报文;
将所述客户端请求报文和所述服务器响应报文以可视界面的形式显示在调试窗口中。
在本发明的一个实施例中,一种客户端软件调试装置,包括:
接收单元,用于接收客户端软件的网络接口调用信息查询指令;
报文获取单元,用于通过预先设置的网络拦截器获取到所述网络接口的客户端请求报文和服务器响应报文;
显示单元,用于将所述客户端请求报文和所述服务器响应报文以可视界面的形式显示在调试窗口中。
在本发明的一个实施例中,一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的调试程序,所述处理器执行所述调试程序时实现上述客户端软件调试方法的步骤。
在本发明的一个实施例中,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述客户端软件调试方法的步骤。
在本发明的一个实施例中,一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述客户端软件调试方法的步骤。
本发明实施例提供的客户端软件调试方法和装置,通过预先设置的网络来拦截器来获取网络接口的报文信息,并直接将该报文信息显示在调试窗口中,可以省去调试人员抓包操作,也避免了调试人员抓包失败的情况,调试人员可以快速定位错误信息,提升了调试工作效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明一实施例提供的客户端软件调试方法的流程示意图;
图2是本发明一实施例提供的一种网络接口报文显示页面示意图;
图3是本发明另一实施例提供的客户端软件调试方法的流程示意图;
图4是本发明实施例提供的一种可视化显示运行日志的流程示意图;
图5是本发明一实施例提供的客户端软件调试装置的结构示意图;
图6为本发明一实施例提供的电子设备的系统构成的示意框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
需要说明的是,本申请公开的一种客户端软件调试方法和装置可用于金融领域,也可用于除金融领域之外的任意领域,本申请对公开的一种客户端软件调试方法和装置的应用领域不做限定。
为了便于理解本申请提供的技术方案,下面先对本申请技术方案的相关内容进行说明。
术语“PID”,英语全称是Process Identification,在操作系统里指进程标识符,操作系统里每打开一个程序都会创建一个PID。
术语“Android Studio”,是谷歌推出的一个Android集成开发工具,用于开发和调试。
术语“.aar”,是Android中常见的第三方库,项目的二进制归档文件,包含所有资源,如class以及res资源文件。
术语“OkHttp”及“OkHttpClient”,OkHttp是Android中的一个网络库,可以用来处理网络请求,OkHttpClient是基于OkHttp的一个高效的HTTP客户端。
术语“startActivity”,是Android中一个跨进程的操作。
术语“JExcel”,是一款轻量级的类似Excel的jquery电子表格插件。
术语“ProcessBuilder”、“Logcat”及“BufferedReader”指Android中的命令行工具。
术语“Gradle”是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。
术语“build.gradle”,可以理解为一个项目的框架,提供了该项目的基本配置。
术语“BuildConfig类”,是指由build.gradle编译自动生成的类,该类不能修改,其会根据build.gradle的基本配置生成对应的信息,便于程序员使用。
术语“android.os.Build”,是Android中获取系统信息的类。
图1是本发明一实施例提供的客户端软件调试方法的流程示意图。本实施例中各个步骤的实施主体可以是移动端的应用程序(APP)或者是PC端的调试软件,本发明实施例对此并不加以限定,如图1所示,该实施例提供的客户端软件调试方法,可包括:
步骤S110:接收客户端软件的网络接口调用信息查询指令。
在本实施例中,该网络接口调用信息查询指令可以是由调试人员通过鼠标点击或者触摸点击相应按钮所发出的,也可以是调试人员通过语音或输入特定指令所发出的,本实施例对此并不加以限定。
步骤S120:通过预先设置的网络拦截器获取到所述网络接口的客户端请求报文和服务器响应报文。
优选的,本实施例中上述客户端请求报文可以包含请求行、请求头和请求数据,上述服务器响应报文可以包含响应行、响应头和响应正文。
优选的,该步骤中设置所述网络拦截器可以包括:基于安卓网络库OkHttp来实现拦截器(Interceptor)接口;将自定义的Interceptor类的对象设置到OkHttp客户端OkHttpClient对象中来实现网络拦截器的设置。
步骤S130:将所述客户端请求报文和所述服务器响应报文以可视界面的形式显示在调试窗口中。
优选的,如图2所示为本发明一实施例提供的一种网络接口报文显示页面示意图,可以将报文总览、上述客户端请求报文和服务器响应报文分别独立地显示在各自页面上,并将相应的请求行、请求头、请求数据以及响应行、响应头和响应正文分类独立显示,从而方便调试人员查看,节省调试时间,提高调试效率。
本发明实施例提供的客户端软件调试方法,通过预先设置的网络来拦截器来获取网络接口的报文信息,并直接将该报文信息显示在调试窗口中,可以省去调试人员抓包操作,也避免了调试人员抓包失败的情况,调试人员可以快速定位错误信息,提升了调试工作效率。
图3是本发明另一实施例提供的客户端软件调试方法的流程示意图,如图3所示,该实施例提供的客户端软件调试方法,可包括:
步骤S310:接收客户端软件的网络接口调用信息查询指令。
步骤S320:通过预先设置的网络拦截器获取到所述网络接口的客户端请求报文和服务器响应报文。
步骤S330:将所述客户端请求报文和所述服务器响应报文以可视界面的形式显示在调试窗口中。
步骤S340:接收报文分享指令。
步骤S350:根据所述报文分享指令将所述客户端请求报文和所述服务器响应报文以文本形式发送至远程客户端。
优选的,步骤S250中,可以利用Android系统提供的分享能力,向startActivity传递一个ACTION_SEND的意图Intent,所述意图Intent里面包括需要分享的文本内容,当调试软件接收到报文分享指令时,比如调试人员点击了报文分享按钮时,系统会弹出一个应用程序选择列表,调试人员可以选择当前系统中的一种应用程序并唤醒该应用程序,然后系统可以弹框提示是否通过该应用程序直接将报文信息发送出去。上述应用程序比如可以为QQ、微信、邮件等通信程序。
在本实施例中,当调试人员在进行软件调试遇到问题时,可以快速将具体的信息同步给研发人员,联动快速定位到问题网络接口,进一步提高调试工作效率。
优选的,本发明实施例还可以包括如下步骤:接收报文清理指令;根据所述报文清理指令清理当前报文列表,从而方便调试人员查看最新的网络请求信息,避免数据过多影响调试人员判断。
优选的,本发明实施例还可以包括如下步骤:接收报文导出指令;根据所述报文导出指令导出所述网络接口的客户端请求报文和服务器响应报文。
进一步优选的,上述根据所述报文导出指令导出所述网络接口的客户端请求报文和服务器响应报文可以包括:通过Java类库JExcel内部的API接口,创建一个Excel表格并写入或读取Excel数据。根据特定的格式将报文梳理汇总出来,可以节省调试工作时间成本,方便性能测试工作。
优选的,本发明实施例的客户端软件调试方法还包括:接收客户端软件的运行日志信息查询指令;根据所述运行日志信息查询指令将所述运行日志以可视界面的形式显示在调试窗口中。运行日志也是调试工作中分析判断报错信息的一项重要数据,它可以帮助调试人员或研发人员快速定位问题。
如图4所示为本发明实施例提供的一种可视化显示运行日志的流程示意图,包括:
步骤S401:根据客户端软件的进程标识符对当前所有运行进程进行过滤,得到该客户端软件的运行进程。
步骤S402:用Java中ProcessBuilder实例创建操作系统进程来对该客户端软件的运行进程进行管理。
步骤S403:执行logcat-v threadtime命令获取该客户端运行进程中系统日志的输入流。
步骤S404:通过BufferedReader缓冲字符流,把缓冲区的内容以文本行形式读取。
步骤S405:用正则表达式解析所述文本中的字符串。
步骤S406:将解析后的字符串以回调接口的方式渲染在调试窗口页面上。
优选的,可以通过在调试窗口中展示日志等级列表、日志搜索框、日志清理按钮及调试窗口关闭按钮来展示运行日志信息。在本实施例中,日志可以划分成多个等级,比如由低到高可以分别为详细信息(Verbose)、调试信息(Debug)、一般信息(Info)、警告信息(Warn)和错误信息(Error)并可以通过颜色讲上述信息进行标识,比如上述信息可以分别对应灰色、蓝色、绿色、黄色和红色。调试人员可以在等级选择列表中勾选某个或多个等级的日志选项,然后日志列表就会仅会显示所勾选等级的日志信息。日志搜索框则用于给调试人员输入关键词对所有运行日志进行搜索,搜索结果以列表的形式进行展示,比如通过在列表适配器中关键词匹配日志信息,如果能匹配到,则列表显示匹配到的日志信息,否则显示全部的日志信息。日志清理按钮则可以通过ProcessBuilder实例执行“logcat-c”命令,用来清理当前日志列表,方便调试排查问题时只显示关键信息。调试窗口关闭按钮则可以将调试软件的调试窗口进行关闭或隐藏。
优选的,本发明实施例的客户端软件调试方法还包括:接收客户端软件运行的系统信息查询指令;根据所述系统信息查询指令将客户端软件系统信息及设备系统信息以可视化界面的形式显示在调试窗口中。在软件调试过程中,需要结合客户端软件系统信息和设备系统信息,判断报错信息是否是由于系统适配原因等产生的,目前调试人员对于客户端软件系统信息都是通过在项目中配置文件进行查看,而设备系统信息,比如手机,则是通过在手机“设置”里的“关于手机”选项查看。这种方式不利于提高调试效率,而本实施例可以将客户端软件系统信息及设备系统信息直接以可视化界面的形式显示在调试窗口中,节省了调试人员调用信息的时间,提升了工作效率。
作为本发明的一个实施例,以可视化界面形式显示上述客户端软件系统信息可以包括:利用Android Studio开发工具自带的依赖插件Gradle,在build.gradle文件中配置,使得编译时自动生成BuildConfig类,获取客户端软件系统信息;将所述客户端软件系统以可视化界面的形式显示在调试窗口中,该客户端软件系统信息可以包括:版本号信息、版本名称信息、是否是测试版本信息、设备渠道信息和包名信息中的一种或多种信息。上述BuildConfig类的具体代码比如可以为:
获取版本号信息:BuildConfig.VERSION_CODE;
获取版本名称信息:BuildConfig.VERSION_NAME;
获取是否是测试版本信息:BuildConfig.DEBUG;
获取手机渠道信息:BuildConfig.FLAVOR;
获取包名信息:BuildConfig.APPLICATION_ID。
作为本发明的一个实施例,以可视化界面形式显示上述设备系统信息可以包括:从android.os.Build系统属性类中提取设备硬件和版本信息;将所述设备硬件和版本信息以可视化界面的形式显示在调试窗口中。
本发明实施例提供的客户端软件调试方法,通过预先设置的网络来拦截器来获取网络接口的报文信息,并直接将该报文信息显示在调试窗口中,可以省去调试人员抓包操作,也避免了调试人员抓包失败的情况,调试人员可以快速定位错误信息,提升了调试工作效率,另外本发明实施例通过将运行日志信息和系统信息一同以可视化界面的形式显示在调试窗口中,可以进一步提升调试工作效率,方便排查客户端软件出错问题。
图5是本发明一实施例提供的客户端软件调试装置的结构示意图,该调试装置包括:接收单元510、报文获取单元520和显示单元530,其中报文获取单元520分别和接收单元510及显示单元530相连。
接收单元510用于接收客户端软件的网络接口调用信息查询指令。
报文获取单元520用于通过预先设置的网络拦截器获取到所述网络接口的客户端请求报文和服务器响应报文。
显示单元530用于将所述客户端请求报文和所述服务器响应报文以可视界面的形式显示在调试窗口中。
本发明实施例提供的客户端软件调试装置,通过预先设置的网络来拦截器来获取网络接口的报文信息,并直接将该报文信息显示在调试窗口中,可以省去调试人员抓包操作,也避免了调试人员抓包失败的情况,调试人员可以快速定位错误信息,提升了调试工作效率。
优选的,报文获取单元520所获取到的客户端请求报文包含请求行、请求头和请求数据,服务器响应报文包含响应行、响应头和响应正文。
优选的,本实施例的调试装置还包括拦截器设置单元,用于基于安卓网络库OkHttp来实现拦截器Interceptor接口,并将自定义的拦截器Interceptor类的对象设置到OkHttp客户端OkHttpClient对象中。
优选的,本实施例的接收单元510还用于接收报文分享指令,同时本实施例的调试装置还包括分享单元,该分享单元用于根据所述报文分享指令将所述客户端请求报文和所述服务器响应报文以文本形式发送至远程客户端。例如该分享单元可以利用Android系统提供的分享能力,向startActivity传递一个ACTION_SEND的意图Intent,所述意图Intent里面包括需要分享的文本内容,从而实现分享报文的功能。
优选的,本实施例的接收单元510还用于接收报文清理指令,同时本实施例的调试装置还包括清理单元,用于根据所述报文清理指令清理当前报文列表。
优选的,本实施例的接收单元510还用于接收报文导出指令,同时本实施例的调试装置还包括导出单元,用于根据所述报文导出指令导出所述网络接口的客户端请求报文和服务器响应报文。比如可以通过Java类库JExcel内部的API接口,创建一个Excel表格并写入或读取Excel数据,从而实现报文导出功能。
优选的,本实施例的接收单元510还用于接收客户端软件的运行日志信息查询指令,同时本实施例的调试装置还包括日志获取单元,用于根据所述运行日志信息查询指令获取运行日志,且显示单元530还用于将所述运行日志以可视界面的形式显示在调试窗口中。具体来说530可以通过执行如下步骤实现运行日志的可视化显示:根据所述客户端软件的进程标识符对当前所有运行进程进行过滤,得到所述客户端软件的运行进程;用Java中用ProcessBuilder实例创建操作系统进程来对所述客户端软件的运行进程进行管理;执行logcat-v threadtime命令获取所述客户端运行进程中系统日志的输入流;通过BufferedReader缓冲字符流,把缓冲区的内容以文本行形式读取;用正则表达式解析所述文本中的字符串;将解析后的字符串以回调接口的方式渲染在调试窗口页面上。
优选的,显示单元530可以通过在调试窗口中展示日志等级列表、日志搜索框、日志清理按钮及调试窗口关闭按钮来展示运行日志信息。
优选的,本实施例的接收单元510还用于接收客户端软件运行的系统信息查询指令,同时本实施例的调试装置还包括系统信息获取单元,用于根据所述系统信息查询指令获取客户端软件系统信息及设备系统信息,且显示单元530还用于将上述客户端软件系统信息及设备系统信息以可视化界面的形式显示在调试窗口中。
优选的,显示单元530可以利用Android Studio开发工具自带的依赖插件Gradle,在build.gradle文件中配置,是的编译时自动生成BuildConfig类,获取客户端软件系统信息,并将所述客户端软件系统以可视化界面的形式显示在调试窗口中,优选的该客户端软件系统信可以息包括:版本号信息、版本名称信息、是否是测试版本信息、设备渠道信息和包名信息。
优选的,显示单元530可以从android.os.Build系统属性类中提取设备硬件和版本信息,并将所述设备硬件和版本信息以可视化界面的形式显示在调试窗口中。
本发明实施例提供的客户端软件调试装置,通过预先设置的网络来拦截器来获取网络接口的报文信息,并直接将该报文信息显示在调试窗口中,可以省去调试人员抓包操作,也避免了调试人员抓包失败的情况,调试人员可以快速定位错误信息,提升了调试工作效率,另外本发明实施例通过将运行日志信息和系统信息一同以可视化界面的形式显示在调试窗口中,可以进一步提升调试工作效率,方便排查客户端软件出错问题。
从硬件层面来说,为了能够避免抓包失败导致获取不到网络接口报文信息,进而提升软件调试工作效率,本申请提供一种用于实现所述客户端软件调试方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现客户端软件调试装置与核心业务系统、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的客户端软件调试方法的实施例,以及客户端软件调试装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在实际应用中,客户端软件调试方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
图6为本申请实施例的电子设备9600的系统构成的示意框图。如图6所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图6是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,客户端软件调试方法功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
步骤S110:接收客户端软件的网络接口调用信息查询指令。
步骤S120:通过预先设置的网络拦截器获取到所述网络接口的客户端请求报文和服务器响应报文。
步骤S130:将所述客户端请求报文和所述服务器响应报文以可视界面的形式显示在调试窗口中。
从上述描述可知,本申请实施例提供的电子设备,通过预先设置的网络来拦截器来获取网络接口的报文信息,并直接将该报文信息显示在调试窗口中,可以省去调试人员抓包操作,也避免了调试人员抓包失败的情况,调试人员可以快速定位错误信息,提升了调试工作效率。
在另一个实施方式中,客户端软件调试装置可以与中央处理器9100分开配置,例如可以将客户端软件调试装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现客户端软件调试方法功能。
如图6所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图6中所示的所有部件;此外,电子设备9600还可以包括图6中没有示出的部件,可以参考现有技术。
如图6所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的客户端软件调试方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的客户端软件调试方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤S110:接收客户端软件的网络接口调用信息查询指令。
步骤S120:通过预先设置的网络拦截器获取到所述网络接口的客户端请求报文和服务器响应报文。
步骤S130:将所述客户端请求报文和所述服务器响应报文以可视界面的形式显示在调试窗口中。
从上述描述可知,本申请实施例提供的计算机可读存储介质,通过预先设置的网络来拦截器来获取网络接口的报文信息,并直接将该报文信息显示在调试窗口中,可以省去调试人员抓包操作,也避免了调试人员抓包失败的情况,调试人员可以快速定位错误信息,提升了调试工作效率。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的客户端软件调试方法中全部步骤的一种计算机程序产品,该计算机程序/指令被处理器执行时实现所述的客户端软件调试方法的步骤,例如,所述计算机程序/指令实现下述步骤:
步骤S110:接收客户端软件的网络接口调用信息查询指令。
步骤S120:通过预先设置的网络拦截器获取到所述网络接口的客户端请求报文和服务器响应报文。
步骤S130:将所述客户端请求报文和所述服务器响应报文以可视界面的形式显示在调试窗口中。
从上述描述可知,本申请实施例提供的计算机程序产品,通过预先设置的网络来拦截器来获取网络接口的报文信息,并直接将该报文信息显示在调试窗口中,可以省去调试人员抓包操作,也避免了调试人员抓包失败的情况,调试人员可以快速定位错误信息,提升了调试工作效率。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本发明的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (19)

1.一种客户端软件调试方法,其特征在于,包括:
接收客户端软件的网络接口调用信息查询指令;
通过预先设置的网络拦截器获取到所述网络接口的客户端请求报文和服务器响应报文;
将所述客户端请求报文和所述服务器响应报文以可视界面的形式显示在调试窗口中。
2.如权利要求1所述的客户端软件调试方法,其特征在于,所述客户端请求报文包含请求行、请求头和请求数据,所述服务器响应报文包含响应行、响应头和响应正文。
3.如权利要求1所述的客户端软件调试方法,其特征在于,预先设置所述网络拦截器具体包括:
基于安卓网络库OkHttp来实现拦截器Interceptor接口;
将自定义的拦截器Interceptor类的对象设置到OkHttp客户端OkHttpClient对象中。
4.如权利要求1所述的客户端软件调试方法,其特征在于,还包括:
接收报文分享指令;
根据所述报文分享指令将所述客户端请求报文和所述服务器响应报文以文本形式发送至远程客户端。
5.如权利要求4所述的客户端软件调试方法,其特征在于,所述根据所述报文分享指令将所述客户端请求报文和所述服务器响应报文以文本形式发送至远程客户端包括:
利用Android系统提供的分享能力,向startActivity传递一个ACTION_SEND的意图Intent,所述意图Intent里面包括需要分享的文本内容。
6.如权利要求1所述的客户端软件调试方法,其特征在于,还包括:
接收报文清理指令;
根据所述报文清理指令清理当前报文列表。
7.如权利要求1所述的客户端软件调试方法,其特征在于,还包括:
接收报文导出指令;
根据所述报文导出指令导出所述网络接口的客户端请求报文和服务器响应报文。
8.如权利要求7所述的客户端软件调试方法,其特征在于,所述根据所述报文导出指令导出所述网络接口的客户端请求报文和服务器响应报文包括:
通过Java类库JExcel内部的API接口,创建一个Excel表格并写入或读取Excel数据。
9.如权利要求1所述的客户端软件调试方法,其特征在于,还包括:
接收客户端软件的运行日志信息查询指令;
根据所述运行日志信息查询指令将所述运行日志以可视界面的形式显示在调试窗口中。
10.如权利要求9所述的客户端软件调试方法,其特征在于,所述根据所述运行日志信息查询指令将所述运行日志以可视界面的形式显示在调试窗口中包括:
根据所述客户端软件的进程标识符对当前所有运行进程进行过滤,得到所述客户端软件的运行进程;
用Java中用ProcessBuilder实例创建操作系统进程来对所述客户端软件的运行进程进行管理;
执行logcat-v threadtime命令获取所述运行进程中系统日志的输入流;
通过BufferedReader缓冲字符流,把缓冲区的内容以文本行形式读取;
用正则表达式解析所述文本中的字符串;
将解析后的字符串以回调接口的方式渲染在调试窗口页面上。
11.如权利要求9所述的客户端软件调试方法,其特征在于,所述根据所述运行日志信息查询指令将所述运行日志以可视界面的形式显示在调试窗口中包括:
以可视化界面形式在调试窗口中展示日志等级列表、日志搜索框、日志清理按钮及调试窗口关闭按钮。
12.如权利要求1所述的客户端软件调试方法,其特征在于,还包括:
接收客户端软件运行的系统信息查询指令;
根据所述系统信息查询指令将客户端软件系统信息及设备系统信息以可视化界面的形式显示在调试窗口中。
13.如权利要求12所述的客户端软件调试方法,其特征在于,根据所述系统信息查询指令将客户端软件系统信息以可视化界面的形式显示在调试窗口中包括:
利用Android Studio开发工具自带的依赖插件Gradle,在build.gradle文件中配置,是的编译时自动生成BuildConfig类,获取客户端软件系统信息;
将所述客户端软件系统以可视化界面的形式显示在调试窗口中。
14.如权利要求13所述的客户端软件调试方法,其特征在于,所述客户端软件系统信息包括:版本号信息、版本名称信息、是否是测试版本信息、设备渠道信息和包名信息。
15.如权利要求12所述的客户端软件调试方法,其特征在于,根据所述系统信息查询指令将设备系统信息以可视化界面的形式显示在调试窗口中包括:
从android.os.Build系统属性类中提取设备硬件和版本信息;
将所述设备硬件和版本信息以可视化界面的形式显示在调试窗口中。
16.一种客户端软件调试装置,其特征在于,包括:
接收单元,用于接收客户端软件的网络接口调用信息查询指令;
报文获取单元,用于通过预先设置的网络拦截器获取到所述网络接口的客户端请求报文和服务器响应报文;
显示单元,用于将所述客户端请求报文和所述服务器响应报文以可视界面的形式显示在调试窗口中。
17.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的调试程序,其特征在于,所述处理器执行所述调试程序时实现权利要求1至15任一项所述的客户端软件调试方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至15任一项所述的客户端软件调试方法的步骤。
19.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至15任一项所述的客户端软件调试方法的步骤。
CN202210665551.4A 2022-06-14 2022-06-14 一种客户端软件调试方法和装置 Pending CN115086206A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210665551.4A CN115086206A (zh) 2022-06-14 2022-06-14 一种客户端软件调试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210665551.4A CN115086206A (zh) 2022-06-14 2022-06-14 一种客户端软件调试方法和装置

Publications (1)

Publication Number Publication Date
CN115086206A true CN115086206A (zh) 2022-09-20

Family

ID=83252361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210665551.4A Pending CN115086206A (zh) 2022-06-14 2022-06-14 一种客户端软件调试方法和装置

Country Status (1)

Country Link
CN (1) CN115086206A (zh)

Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101819525A (zh) * 2009-02-27 2010-09-01 国际商业机器公司 用于查找系统中应用的配置文件的方法和设备
CN103684977A (zh) * 2012-09-12 2014-03-26 阿里巴巴集团控股有限公司 信息发送方法及装置、信息显示方法及装置
US20140372370A1 (en) * 2013-06-18 2014-12-18 Litera Technologies, LLC Systems and methods for multiple document version collaboration and management
CN105721280A (zh) * 2016-01-19 2016-06-29 努比亚技术有限公司 网页分享装置及方法
CN105847325A (zh) * 2016-03-14 2016-08-10 广州酷狗计算机科技有限公司 应用客户端的调试方法及装置
CN106649729A (zh) * 2016-12-23 2017-05-10 深圳市金证科技股份有限公司 日志运行方法及系统、客户端和服务器
CN107273267A (zh) * 2017-06-09 2017-10-20 环球智达科技(北京)有限公司 基于elastic组件的日志分析方法
CN107332685A (zh) * 2017-05-22 2017-11-07 国网安徽省电力公司信息通信分公司 国网云中应用的一种基于大数据运维日志的方法
CN107395493A (zh) * 2017-08-02 2017-11-24 深圳依偎控股有限公司 一种基于意图Intent分享消息的方法及装置
CN109634570A (zh) * 2018-12-15 2019-04-16 中国平安人寿保险股份有限公司 前后端集成开发方法、装置、设备及计算机可读存储介质
CN109885483A (zh) * 2019-01-17 2019-06-14 珠海金山网络游戏科技有限公司 用于实时反馈游戏内运行状态的日志可视化方法和系统
CN110674444A (zh) * 2019-09-20 2020-01-10 青岛海信移动通信技术股份有限公司 一种动态网页下载的方法及终端
CN110716878A (zh) * 2019-10-11 2020-01-21 赛诺贝斯(北京)营销技术股份有限公司 一种接口自动化测试方法、装置及系统
CN110808868A (zh) * 2019-09-12 2020-02-18 中国平安财产保险股份有限公司 测试数据获取方法、装置、计算机设备及存储介质
CN111159047A (zh) * 2019-12-31 2020-05-15 苏州思必驰信息科技有限公司 具有可视化界面的Android设备辅助调试装置及其操作方法
CN112346961A (zh) * 2019-08-08 2021-02-09 北京车和家信息技术有限公司 一种客户端的调试方法及装置
CN112968927A (zh) * 2021-01-28 2021-06-15 网易(杭州)网络有限公司 日志提取方法、日志提取装置、存储介质及电子设备
CN113395242A (zh) * 2020-03-13 2021-09-14 北京奇虎科技有限公司 应用数据包的抓包方法、装置以及计算设备
CN113448836A (zh) * 2020-10-13 2021-09-28 北京新氧科技有限公司 软件接口测试方法、装置、电子设备及存储介质
CN113448544A (zh) * 2021-06-24 2021-09-28 中国工商银行股份有限公司 一种程序开发中文档自动生成方法及系统
CN113495828A (zh) * 2020-03-20 2021-10-12 腾讯科技(深圳)有限公司 日志展示方法、装置及电子设备
CN113687888A (zh) * 2021-05-18 2021-11-23 麒麟软件有限公司 在Linux系统上兼容运行Android应用的文件分享方法
CN113760692A (zh) * 2020-06-23 2021-12-07 北京沃东天骏信息技术有限公司 日志获取方法、装置及设备
CN114371850A (zh) * 2021-12-28 2022-04-19 南京星云数字技术有限公司 项目构建编译和代码开发的管理方法

Patent Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101819525A (zh) * 2009-02-27 2010-09-01 国际商业机器公司 用于查找系统中应用的配置文件的方法和设备
CN103684977A (zh) * 2012-09-12 2014-03-26 阿里巴巴集团控股有限公司 信息发送方法及装置、信息显示方法及装置
US20140372370A1 (en) * 2013-06-18 2014-12-18 Litera Technologies, LLC Systems and methods for multiple document version collaboration and management
CN105721280A (zh) * 2016-01-19 2016-06-29 努比亚技术有限公司 网页分享装置及方法
CN105847325A (zh) * 2016-03-14 2016-08-10 广州酷狗计算机科技有限公司 应用客户端的调试方法及装置
CN106649729A (zh) * 2016-12-23 2017-05-10 深圳市金证科技股份有限公司 日志运行方法及系统、客户端和服务器
CN107332685A (zh) * 2017-05-22 2017-11-07 国网安徽省电力公司信息通信分公司 国网云中应用的一种基于大数据运维日志的方法
CN107273267A (zh) * 2017-06-09 2017-10-20 环球智达科技(北京)有限公司 基于elastic组件的日志分析方法
CN107395493A (zh) * 2017-08-02 2017-11-24 深圳依偎控股有限公司 一种基于意图Intent分享消息的方法及装置
CN109634570A (zh) * 2018-12-15 2019-04-16 中国平安人寿保险股份有限公司 前后端集成开发方法、装置、设备及计算机可读存储介质
CN109885483A (zh) * 2019-01-17 2019-06-14 珠海金山网络游戏科技有限公司 用于实时反馈游戏内运行状态的日志可视化方法和系统
CN112346961A (zh) * 2019-08-08 2021-02-09 北京车和家信息技术有限公司 一种客户端的调试方法及装置
CN110808868A (zh) * 2019-09-12 2020-02-18 中国平安财产保险股份有限公司 测试数据获取方法、装置、计算机设备及存储介质
CN110674444A (zh) * 2019-09-20 2020-01-10 青岛海信移动通信技术股份有限公司 一种动态网页下载的方法及终端
CN110716878A (zh) * 2019-10-11 2020-01-21 赛诺贝斯(北京)营销技术股份有限公司 一种接口自动化测试方法、装置及系统
CN111159047A (zh) * 2019-12-31 2020-05-15 苏州思必驰信息科技有限公司 具有可视化界面的Android设备辅助调试装置及其操作方法
CN113395242A (zh) * 2020-03-13 2021-09-14 北京奇虎科技有限公司 应用数据包的抓包方法、装置以及计算设备
CN113495828A (zh) * 2020-03-20 2021-10-12 腾讯科技(深圳)有限公司 日志展示方法、装置及电子设备
CN113760692A (zh) * 2020-06-23 2021-12-07 北京沃东天骏信息技术有限公司 日志获取方法、装置及设备
CN113448836A (zh) * 2020-10-13 2021-09-28 北京新氧科技有限公司 软件接口测试方法、装置、电子设备及存储介质
CN112968927A (zh) * 2021-01-28 2021-06-15 网易(杭州)网络有限公司 日志提取方法、日志提取装置、存储介质及电子设备
CN113687888A (zh) * 2021-05-18 2021-11-23 麒麟软件有限公司 在Linux系统上兼容运行Android应用的文件分享方法
CN113448544A (zh) * 2021-06-24 2021-09-28 中国工商银行股份有限公司 一种程序开发中文档自动生成方法及系统
CN114371850A (zh) * 2021-12-28 2022-04-19 南京星云数字技术有限公司 项目构建编译和代码开发的管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"公知证据", Retrieved from the Internet <URL:百度/CSDN> *

Similar Documents

Publication Publication Date Title
CN101853157B (zh) 一种应用软件gui对象自动识别方法
CN111949522B (zh) 用户界面自动化测试方法及装置
WO2023098732A1 (zh) 跨设备的交互方法、装置、电子设备以及存储介质
US9208058B2 (en) Providing directional debugging breakpoints
CN112181678A (zh) 业务数据的处理方法、装置和系统、存储介质、电子装置
CN111324480A (zh) 大型主机交易故障定位系统及方法
CN107844363B (zh) 业务事务处理方法、装置、存储介质及设备
CN113741860A (zh) 基于rpa机器人的数据处理方法及装置
CN112988600A (zh) 业务场景测试方法、装置、电子设备及存储介质
CN110893616B (zh) 一种远程控制方法、装置、计算机设备和存储介质
CN116112457A (zh) 消息通知的方法、装置、计算机设备及存储介质
CN115086206A (zh) 一种客户端软件调试方法和装置
CN115757639A (zh) 数据源同步方法、装置、电子设备及存储介质
CN109344069A (zh) 一种软件自动化测试的协同办公方法及协同办公平台
CN114661274A (zh) 用于生成智能合约的方法和装置
CN113157475A (zh) 日志处理方法、装置、存储介质及电子设备
CN113326237A (zh) 日志数据的加工方法、装置、终端设备以及存储介质
JP2021140781A (ja) ソースチャネル決定方法、装置、機器、プログラム及びコンピューター記憶媒体
CN112487218A (zh) 内容处理方法、系统、装置、计算设备和存储介质
CN114371866A (zh) 业务系统的版本重构测试方法、装置和设备
CN108270803B (zh) 通过网页技术实现网络文件与桌面应用传输的方法和系统
KR102679305B1 (ko) 외부 시스템들 간 연계 흐름을 제공하는 흐름 관리 시스템 및 연계 흐름 관리 방법
CN113760683B (zh) 日志采集方法及装置
JP7385245B2 (ja) 情報処理装置、情報処理システム及び情報処理プログラム
CN108958654B (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