基于兼容层运行的应用的排错方法、排错系统及计算设备技术方案

技术编号:34357331 阅读:15 留言:0更新日期:2022-07-31 06:50
本发明专利技术公开了一种基于兼容层运行的应用的排错方法、排错系统及计算设备,涉及计算机及操作系统技术领域。方法在服务器中执行,服务器分别与第一客户端、第二客户端通信连接;方法包括步骤:从第一客户端获取第一应用在第一操作系统上运行时的第一接口调用信息,并从第二客户端获取第一应用在兼容层中运行时的第二接口调用信息;利用排错算法,将第一接口调用信息与第二接口调用信息进行比对,以确定第一接口调用信息与第二接口调用信息的差异信息,以便基于差异信息确定第一应用在兼容层中运行的异常信息。根据本发明专利技术的技术方案,可以高效、准确地定位基于兼容层运行的应用的异常问题。常问题。常问题。

【技术实现步骤摘要】
基于兼容层运行的应用的排错方法、排错系统及计算设备


[0001]本专利技术涉及计算机及操作系统
,尤其涉及一种基于兼容层运行的应用的排错方法、排错系统及计算设备。

技术介绍

[0002]目前,Linux桌面操作系统使用率低,应用软件缺乏,很少有独立软件生产商为其开发Linux原生应用程序,这导致政府或企业在从Windows系统迁移到Linux系统之后出现大量行业应用无法使用的问题,严重影响了Linux系统替代Windows系统的发展进程,进一步阻碍了Linux桌面操作系统的发展。
[0003]Linux系统厂商通常利用Windows系统的兼容层Wine(能够在包含Linux、Mac OS X以及BSD在内的多种 POSIX 兼容操作系统上运行 Windows 应用程序的兼容层)来实现将Windows系统的应用程序迁移至Linux系统。目前,最新版的Wine可以稳定运行成千上万种Windows应用程序。
[0004]由于Wine诞生于西方社区,开发者绝大部分是西方人士,因而可以更好地兼容西方国家开发的Windows应用。而我国开发的大部分中文版本的Windows应用都需要开发人员对兼容层进行适配,即,对基于兼容层运行的应用进行排错处理、定位异常问题,通过处理异常后才能使得Windows应用在兼容层完美运行。因此,如何提高开发人员定位异常问题的效率是加快Windows系统向Linux系统迁移的关键。
[0005]为此,需要一种基于兼容层运行的应用的排错方法,以解决上述方案中存在的问题。/>
技术实现思路

[0006]根据本专利技术的一个方面,提供一种基于兼容层运行的应用的排错方法,在服务器中执行,所述服务器分别与第一客户端、第二客户端通信连接;所述第一客户端运行有第一操作系统,所述第一操作系统上运行有第一应用;所述第二客户端运行有第二操作系统,所述第二操作系统上布置有第一操作系统的兼容层,且所述兼容层中运行有第一应用;所述方法包括步骤:从所述第一客户端获取所述第一应用在所述第一操作系统上运行时的第一接口调用信息,并从所述第二客户端获取所述第一应用在所述兼容层中运行时的第二接口调用信息;利用排错算法,将所述第一接口调用信息与第二接口调用信息进行比对,以确定所述第一接口调用信息与第二接口调用信息的差异信息,以便基于所述差异信息确定所述第一应用在所述兼容层中运行的异常信息。
[0007]可选地,在根据本专利技术的基于兼容层运行的应用的排错方法中,所述第一客户端适于:通过钩子模块在所述第一操作系统上运行所述第一应用,并采集所述第一应用在所述第一操作系统上运行时的第一接口调用信息,将所述第一接口调用信息发送至所述服务器;所述第二客户端适于:通过钩子模块在所述兼容层中运行所述第一应用,并采集所述第一应用在所述兼容层中运行时的第二接口调用信息,将所述第二接口调用信息发送至所述
服务器。
[0008]可选地,在根据本专利技术的基于兼容层运行的应用的排错方法中,利用排错算法,将所述第一接口调用信息与第二接口调用信息进行比对的步骤包括:将所述第一接口调用信息与第二接口调用信息显示在图形用户界面上;获取从所述第一接口调用信息中选择的第一目标数据、以及从所述第二接口调用信息中选择的第二目标数据;利用排错算法,将所述第一目标数据与第二目标数据进行比对,以确定所述第一目标数据与第二目标数据的差异信息。
[0009]可选地,在根据本专利技术的基于兼容层运行的应用的排错方法中,接口调用信息包括接口调用次数、接口返回值、接口参数值,且接口调用次数、接口返回值、接口参数值具有不同的排错优先级;确定所述第一接口调用信息与第二接口调用信息的差异信息包括:基于接口调用信息的排错优先级高低顺序,来确定所述第一接口调用信息与第二接口调用信息的差异信息。
[0010]可选地,在根据本专利技术的基于兼容层运行的应用的排错方法中,利用排错算法,将所述第一接口调用信息与第二接口调用信息进行比对的步骤包括:将所述第一接口调用信息转换为相应的第一调用堆栈数据,存储在第一关联容器中;将所述第二接口调用信息转换为相应的第二调用堆栈数据结构,存储在第二关联容器中;基于进程标识和线程标识,将所述第一关联容器中的第一调用堆栈数据与第二关联容器中的第二调用堆栈数据建立关联;遍历所述第一关联容器和第二关联容器,从所述第一关联容器、第二关联容器中获取进程标识和线程标识一致的第一线程函数调用列表、第二线程函数调用列表;将所述第一线程函数调用列表与第二线程函数调用列表进行比对,判断所述第一线程函数调用列表与第二线程函数调用列表中的接口调用次数、接口返回值、接口参数值是否一致,以确定差异信息。
[0011]可选地,在根据本专利技术的基于兼容层运行的应用的排错方法中,基于进程标识和线程标识,将所述第一关联容器中的第一调用堆栈数据与第二关联容器中的第二调用堆栈数据建立关联,包括:遍历第一关联容器、第二关联容器,如果创建进程接口的参数一致,则基于同一进程标识建立进程关联;如果创建线程接口的参数一致,则基于同一线程标识建立线程关联。
[0012]可选地,在根据本专利技术的基于兼容层运行的应用的排错方法中,所述方法还包括步骤:将所述差异信息存储在列表中;输出所述差异信息以进行显示。
[0013]可选地,在根据本专利技术的基于兼容层运行的应用的排错方法中,所述第一操作系统为Windows操作系统,所述第二操作系统为Linux操作系统。
[0014]根据本专利技术的一个方面,提供一种排错系统,包括:第一客户端,运行有第一操作系统,所述第一操作系统上运行有第一应用;第二客户端,运行有第二操作系统,所述第二操作系统上布置有第一操作系统的兼容层,且所述兼容层中运行有第一应用;服务器,分别与所述第一客户端、第二客户端通信连接,适于执行如上所述的基于兼容层运行的应用的排错方法。
[0015]根据本专利技术的一个方面,提供一种计算设备,包括:至少一个处理器;存储器,存储有程序指令,其中,程序指令被配置为适于由上述至少一个处理器执行,所述程序指令包括用于执行如上所述的基于兼容层运行的应用的排错方法的指令。
[0016]根据本专利技术的一个方面,提供一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得该计算设备执行如上所述的基于兼容层运行的应用的排错方法。
[0017]根据本专利技术的技术方案,提供了一种基于兼容层运行的应用的排错方法,其中,通过钩子模块在第一客户端的第一操作系统上运行第一应用,采集第一应用在第一操作系统上运行时的第一接口调用信息;以及,通过钩子模块在第二客户端的兼容层中运行第一应用,采集第一应用在兼容层中运行时的第二接口调用信息。通过排错算法将第一/第二接口调用信息转换为统一的数据格式来进行比对,可以提高比对效率和准确率,而且,根据比对出的差异信息可以确定第一应用在兼容层中运行的异常信息,从而能实现高效、准确地对基于兼容层运行的第一应用中的异常问题进行定位。
[0018]进一步地,根据本专利技术的排错算法,在将第一接口调用信息与第二本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于兼容层运行的应用的排错方法,在服务器中执行,所述服务器分别与第一客户端、第二客户端通信连接;所述第一客户端运行有第一操作系统,所述第一操作系统上运行有第一应用;所述第二客户端运行有第二操作系统,所述第二操作系统上布置有第一操作系统的兼容层,且所述兼容层中运行有第一应用;所述方法包括步骤:从所述第一客户端获取所述第一应用在所述第一操作系统上运行时的第一接口调用信息,并从所述第二客户端获取所述第一应用在所述兼容层中运行时的第二接口调用信息;利用排错算法,将所述第一接口调用信息与第二接口调用信息进行比对,以确定所述第一接口调用信息与第二接口调用信息的差异信息,以便基于所述差异信息确定所述第一应用在所述兼容层中运行的异常信息。2.如权利要求1所述的方法,其中,所述第一客户端适于:通过钩子模块在所述第一操作系统上运行所述第一应用,并采集所述第一应用在所述第一操作系统上运行时的第一接口调用信息,将所述第一接口调用信息发送至所述服务器;所述第二客户端适于:通过钩子模块在所述兼容层中运行所述第一应用,并采集所述第一应用在所述兼容层中运行时的第二接口调用信息,将所述第二接口调用信息发送至所述服务器。3.如权利要求1所述的方法,其中,利用排错算法,将所述第一接口调用信息与第二接口调用信息进行比对的步骤包括:将所述第一接口调用信息与第二接口调用信息显示在图形用户界面上;获取从所述第一接口调用信息中选择的第一目标数据、以及从所述第二接口调用信息中选择的第二目标数据;利用排错算法,将所述第一目标数据与第二目标数据进行比对,以确定所述第一目标数据与第二目标数据的差异信息。4.如权利要求1

3中任一项所述的方法,其中,接口调用信息包括接口调用次数、接口返回值、接口参数值,且接口调用次数、接口返回值、接口参数值具有不同的排错优先级;确定所述第一接口调用信息与第二接口调用信息的差异信息包括:基于接口调用信息的排错优先级高低顺序,来确定所述第一接口调用信息与第二接口调用信息的差异信息。5.如权利要求1

3中任一项所述的方法,其中,利用排错算法,将所述第一接口调用信息与第二接口调用信息进行比对的步骤包括:将所述第一接口调用信息转换为相应...

【专利技术属性】
技术研发人员:龙超
申请(专利权)人:统信软件技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1