一种应用远程调试方法与流程

文档序号:16880228发布日期:2019-02-15 22:03阅读:475来源:国知局
一种应用远程调试方法与流程

本发明涉及ios动态调试技术领域,具体说是一种应用远程调试方法。



背景技术:

在ios的应用(app)开发调试过程中,当运行的应用出现问题时,通常需要通过调试来追踪和定位问题。但是,当出现运行错误的设备(例如手机、平板电脑等)上没有调试工具,应用开发人员就需要实现远程调试。简单地说,就是要调试的应用和调试器不在一台设备上。

例如,如果需要远程调试手机网页,常见的方法如下:

1、微信web开发者工具(pc客户端)

微信官方出的pc客户端调试工具,支持模拟android和ios端设备进行调试。只需下载并安装官方的安装包,即可很方便地在电脑上调试手机网页,而无需总是拿出手机和usb线进行调试工作(常规操作需要通过usb数据线连接你的设备和开发机器)。

2、微信调试工具

需要安装qq浏览器9及以上版本,在应用中心中搜索“微信调试工具”并安装该应用,需按官方说明的安装tbs工具后才能连接手机;安装操作较为繁琐,而且经常会莫名安装失败……操作较为繁琐。

3、uc浏览器开发者版

官方很清晰地给出了具体安装和操作方法说明,支持wifi连接模式,只需要在手机安装uc浏览器开发者版,直接访问手机ip:9998即可直接在电脑上调试手机页,非常方便。

4、chrome

需要安装手机chrome,并安装adb连接工具使电脑能够与手机连接;之后访问chrome://inspect/pages即可查看到当前连接的设备及手机chrome上打开的页面。点击对应页面的下方的inspect即可开始调试对应手机页面。

chrome的pc版支持在模拟手机端调试,支持多设备多分辨率;打开开发人员工具,左上方有个toggledevicemode,点击即可开启移动端调试模式。

5、使用safari远程调试ios设备网页

在终端(ios终端)上开启safari的web检查器,然后执行以下步骤:

步骤1、使用ios设备的safari打开你想要调试的页面,

步骤2、通过usb数据线连接ios设备与mac,

步骤3、在mac中启动safari,从“开发”菜单下找到你的ios设备,

步骤4、子菜单项为移动设备上safari的所有标签页,选择需要调试的页面。

现有远程调试存在的不足之处在于:

应用在不同的操作下,产生并发送了大量的日志信息,而且每条日志信息都包含大量统计信息,在不经过整理的情况下,很难通过人眼来分辨某个具体的条目,从而难以对日志进行验收工作,影响远程调试的效率。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种应用远程调试方法,在远程调试时,针对日志信息进行整理分析,着重突出重点信息,提高调试效率,便于应用的测试、纠错,提高日志验收工作的效率和准确性。

为达到以上目的,本发明采取的技术方案是:

一种应用远程调试方法,其特征在于,包括如下步骤:

在远程调试服务器debugserver端,获取从应用app端发来的http请求中的requestbody部分,

所述requestbody部分中包括应用app端的日志信息,

解析requestbody部分,调用初级过滤模块,滤除与远程调试无关的字段信息,滤除日志信息中的重复字段信息,

调用标识模块,获取预设的重点字段信息,根据获取的信息,对初级过滤模块处理后的日志信息,进行高亮标识处理。

在上述技术方案的基础上,在应用app端,调用sendlog在调试模式中启用发送日志信息功能,

重写beforesendrequest函数,判断日志信息发送的目的地址是否是远程调试服务器,

如目的地址不是远程调试服务器,则停止日志信息的发送,

如目的地址是远程调试服务器,则调用sendtodebugserver,对日志信息进行保密处理后发送给目的地址,

所述日志信息包括在http请求中的requestbody部分中。

在上述技术方案的基础上,发送给目的地址时,应用app端组装发送日志内容,增加==http==字段作为网络请求标记。

在上述技术方案的基础上,在远程调试服务器debugserver端,通过辨识==http==字段是否存在,确认收到的requestbody部分是否含有需要处理的信息。

在上述技术方案的基础上,应用app端通过调用hooknetworkservice函数,获取日志信息发送的目的地址。

在上述技术方案的基础上,当远程调试服务器debugserver端获得requestbody部分后,

先调用客户端过滤模块,通过clientfilter函数过滤掉不进行远程调试的应用app端,仅对允许进行远程调试的应用app端进行后续处理。

在上述技术方案的基础上,clientfilter函数默认通过ip地址判断是否属于需要过滤掉的应用app端。

在上述技术方案的基础上,初级过滤模块中的无关的字段信息,包括默认指定字段及用户自定义字段,

默认指定字段为远程调试服务器debugserver端强制默认设定,用户不能修改,

用户自定义字段为用户根据实际需要自行设定,用户自定义字段具体包括:

设定用户名称,设定日期,对应app版本信息,字段名称,字段类型,设定原因备注,启用或禁用标志。

在上述技术方案的基础上,默认进行高亮标识处理采用通过正则替换增加随机高亮色。

在上述技术方案的基础上,当用户设置自定义高亮字段时,则根据用户指定的字段,先采用通过正则替换增加随机高亮色,再采用增加暗色系背景色增加对比度。

本发明所述的应用远程调试方法,在远程调试时,针对日志信息进行整理分析,着重突出重点信息,提高调试效率,便于应用的测试、纠错,提高日志验收工作的效率和准确性。

本发明所述的应用远程调试方法,尤其适合于在酷我音乐盒ios应用中使用,便于及时处理音乐盒使用中发现的问题,提高版本更新迭代的效率,提升开发人员的工作效率。在调试应用网络请求模块时,可实现定位某个页面的所有网络请求,避免遗漏和错误,实时呈现模块的运行日志,辅助网络测试工具的信息丰富程度。

附图说明

本发明有如下附图:

图1本发明的流程图。

具体实施方式

以下结合附图对本发明作进一步详细说明。

如图1所示,本发明所述的应用远程调试方法,包括如下步骤:

在远程调试服务器debugserver端,获取从应用app端发来的http请求中的requestbody部分,

所述requestbody部分中包括应用app端的日志信息,

解析requestbody部分,调用初级过滤模块,滤除与远程调试无关的字段信息,滤除日志信息中的重复字段信息,

调用标识模块,获取预设的重点字段信息,根据获取的信息,对初级过滤模块处理后的日志信息,进行高亮标识处理。

在上述技术方案的基础上,在应用app端,调用sendlog在调试模式中启用发送日志信息功能,

重写beforesendrequest函数,判断日志信息发送的目的地址是否是远程调试服务器,

如目的地址不是远程调试服务器,则停止日志信息的发送,

如目的地址是远程调试服务器,则调用sendtodebugserver,对日志信息进行保密处理后发送给目的地址,

所述日志信息包括在http请求中的requestbody部分中。

在上述技术方案的基础上,发送给目的地址时,应用app端组装发送日志内容,增加==http==字段作为网络请求标记。

实际发生的信息格式为:==http==|url:+reqest。

在上述技术方案的基础上,在远程调试服务器debugserver端,通过辨识==http==字段是否存在,确认收到的requestbody部分是否含有需要处理的信息。

在上述技术方案的基础上,应用app端通过调用hooknetworkservice函数,获取日志信息发送的目的地址。

在上述技术方案的基础上,当远程调试服务器debugserver端获得requestbody部分后,

先调用客户端过滤模块,通过clientfilter函数过滤掉不进行远程调试的应用app端,仅对允许进行远程调试的应用app端进行后续处理。

在上述技术方案的基础上,clientfilter函数默认通过ip地址判断是否属于需要过滤掉的应用app端。

例如:clientfilter函数解析requestbody部分,通过getclientips函数得到记录于requestbody部分的应用app端ip地址,然后同需过滤ip地址列表进行比对判断是否containclientip条件成立,完成对应用app端的过滤处理。

在上述技术方案的基础上,初级过滤模块中的无关的字段信息,包括默认指定字段及用户自定义字段,

默认指定字段为远程调试服务器debugserver端强制默认设定,用户不能修改,

用户自定义字段为用户根据实际需要自行设定,用户自定义字段具体包括:

设定用户名称,设定日期,对应app版本信息,字段名称,字段类型,设定原因备注,启用或禁用标志。

在上述技术方案的基础上,初级过滤模块采用正则过滤的方式滤除与远程调试无关的字段信息。

在上述技术方案的基础上,当用户设定为showdetail模式时,则显示所有应用app端的日志信息,初级过滤模块不执行滤除与远程调试无关的字段信息,也不执行滤除日志信息中的重复字段信息。

showdetail模式开关默认为关闭,在用户需要时可手动开启该开关。

在上述技术方案的基础上,默认进行高亮标识处理采用通过正则替换增加随机高亮色。

在上述技术方案的基础上,默认对含有跳转标签<a>的内容进行高亮标识处理。

在上述技术方案的基础上,当用户设置自定义高亮字段时,则根据用户指定的字段,先采用通过正则替换增加随机高亮色,再采用增加暗色系背景色增加对比度。

本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1