【技术实现步骤摘要】
定位方法及系统、介质和计算机系统
本公开涉及计算机
,更具体地,涉及一种定位方法及系统,一种计算机系统和一种计算机可读存储介质。
技术介绍
ReactNative是一个JavaScript的框架,用来撰写实时的、可原生呈现iOS和Android的应用,因此目前很多公司都在使用ReactNative开发业务。但是ReactNative打包代码时,都会对代码进行压缩和混淆,这种情况下,如果JS运行出现异常,则上报到异常上报系统的JS异常文本是压缩和混淆后的文本,因此难以定位出问题。
技术实现思路
有鉴于此,本公开提供了一种能够通过JS映射文件将对压缩和混淆后的JS文本进行异常定位转换为对压缩和混淆前的JS文本进行异常定位的定位方法及系统。本公开的一个方面提供了一种定位方法,包括:获取第一JS文本和第二JS文本,其中,上述第一JS文本是通过打包上述第二JS文本得到的且存在异常的JS文本;获取上述第一JS文本中的第一异常信息的行值和列值;以及根据上述行值和上述列值,以及上述第一JS文本与上述第二JS文本的映射关系,确定上述第二JS文本中与上述第一异常信息对应的第二异常信息,并定位上述第二异常信息在上述第二JS文本中的行值和列值。根据本公开的实施例,上述方法还包括:获取打包上述第二JS文本时生成的映射文件;以及基于上述映射文件获取上述第一JS文本与上述第二JS文本的映射关系。根据本公开的实施例,根据上述行值和上述列值,以及上述第一JS文本与上述第二JS文本的映射关系,对上述第一 ...
【技术保护点】
1.一种定位方法,包括:/n获取第一JS文本和第二JS文本,其中,所述第一JS文本是通过打包所述第二JS文本得到的且存在异常的JS文本;/n获取所述第一JS文本中的第一异常信息的行值和列值;以及/n根据所述行值和所述列值,以及所述第一JS文本与所述第二JS文本的映射关系,确定所述第二JS文本中与所述第一异常信息对应的第二异常信息,并定位所述第二异常信息在所述第二JS文本中的行值和列值。/n
【技术特征摘要】
1.一种定位方法,包括:
获取第一JS文本和第二JS文本,其中,所述第一JS文本是通过打包所述第二JS文本得到的且存在异常的JS文本;
获取所述第一JS文本中的第一异常信息的行值和列值;以及
根据所述行值和所述列值,以及所述第一JS文本与所述第二JS文本的映射关系,确定所述第二JS文本中与所述第一异常信息对应的第二异常信息,并定位所述第二异常信息在所述第二JS文本中的行值和列值。
2.根据权利要求1所述的方法,其中,所述方法还包括:
获取打包所述第二JS文本时生成的映射文件;以及
基于所述映射文件获取所述第一JS文本与所述第二JS文本的映射关系。
3.根据权利要求1或2所述的方法,其中:
根据所述行值和所述列值,以及所述第一JS文本与所述第二JS文本的映射关系,对所述第一JS文本进行解析,以确定所述第二JS文本中与所述第一异常信息对应的所述第二异常信息,并定位所述第二异常信息在所述第二JS文本中的行值和列值。
4.根据权利要求3所述的方法,其中,所述方法还包括:
在解析所述第一JS文本之前,确定所述第一JS文本的打包方式;
所述对所述第一JS文本进行解析,包括:根据所述第一JS文本的打包方式,对所述第一JS文本进行解析。
5.根据权利要求4所述的方法,其中,所述根据所述第一JS文本的打包方式,对所述第一JS文本进行解析,包括:
当所述第一JS文本为全包形式时,直接对所述第一JS文本的全包进行解析;以及
当所述第一JS文本为拆分包加依赖包形式时,先将所述第一JS文本的拆分包和依赖包合成为一个全包,再对合成的全包进行解析。
6.根据权利要求5所述的方法,其中,所述将所述第一JS文本的拆分包和依赖包合成为一个全包,包括:
获取所述第一JS文本的拆分包和依赖包;
获取所述依赖包的sections字段的长度值;
遍历所述拆分包的sections字段,将对应的原行值重置为对应的新行值,其中,对应的新行值等于对应的原行值加上所述依赖包的sections字段的长度值;以及
在遍历重置后,将所述拆分包的sections字段追加到所述依赖包的sections字段中,从而将所述第一JS文本的拆分包和依赖包合成为一个全包。
7.根据权利要求1所述的方法,其中,所述获取所述第一JS文本中的第一异常信息的行值和列值,包括:
通过预先编写的JS脚本解析所述第一JS文本,以确定所述第一异常信息,并定位所述第一异常信息在所述第一JS文本中的行值和列值。
8.一种定位系统,包括:
第一获取模块,用于获取第一JS文本和第二JS文本,其中,所述第一JS文本是通过打包所述第二JS文本得到的且存在异常的JS文本;
第二获取模块,用于获取所述第一JS文本中的第一异常信息的行值和...
【专利技术属性】
技术研发人员:刘艳,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。