1.一种卡慢异常定位方法,其特征在于,包括:
根据待处理应用程序中界面线程的运行状态,确定发生卡慢现象;
抓取所述卡慢现象发生时所述待处理应用程序的堆栈上下文;
根据所述堆栈上下文,定位所述卡慢现象的发生原因。
2.根据权利要求1所述的方法,其特征在于,所述根据待处理应用程序中界面线程的运行状态,确定发生卡慢现象,包括:
监控所述界面线程的响应状态;
根据所述界面线程的响应状态,确定发生所述卡慢现象。
3.根据权利要求2所述的方法,其特征在于,所述监控所述界面线程的响应状态,包括:
向所述界面线程的窗口发送带有超时参数的消息;
若未能在所述超时参数指定的时间内获取到所述消息的返回结果,确定所述界面线程响应超时。
4.根据权利要求3所述的方法,其特征在于,向所述界面线程所的窗口发送带有超时参数的消息,包括:
根据监控频率,周期性地向所述窗口句柄发送所述消息。
5.根据权利要求4所述的方法,其特征在于,所述根据所述界面线程的响应状态,确定发生所述卡慢现象,包括:
若所述界面线程响应超时,确定发生所述卡慢现象;或者
若所述界面线程响应超时的次数大于次数阈值,确定发生所述卡慢现象;或者
若所述界面线程连续两次响应超时之间的时间间隔小于间隔阈值,确定发生所述卡慢现象。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述根据所述堆栈上下文,定位所述卡慢现象的发生原因,包括:
将所述堆栈上下文保存为崩溃文件;
根据所述崩溃文件,定位所述卡慢现象的发生原因。
7.根据权利要求6所述的方法,其特征在于,所述根据所述崩溃文件,定位所述卡慢现象的发生原因,包括:
将所述崩溃文件发送给服务器,以供所述服务器定位所述卡慢现象的发生原因;
接收所述服务器发送的卡慢异常定位信息,所述卡慢异常定位信息包括所述卡慢现象的发生原因。
8.根据权利要求6所述的方法,其特征在于,所述根据所述崩溃文件,定位所述卡慢现象的发生原因,包括:
提取所述崩溃文件具有的特征,将所述崩溃文件具有的特征在已标记特征中进行匹配,获取被所述崩溃文件匹配中的已标记特征所对应的卡慢原因,作为所述卡慢现象的发生原因。
9.一种卡慢异常定位方法,其特征在于,包括:
接收客户端发送的崩溃文件,所述崩溃文件是所述客户端根据待处理应用程序发生卡慢现象时的堆栈上下文生成的;
提取所述崩溃文件具有的特征;
将所述崩溃文件具有的特征在已标记特征中进行匹配;
获取被所述崩溃文件匹配中的已标记特征所对应的卡慢原因,作为所述卡慢现象的发生原因。
10.根据权利要求9所述的方法,其特征在于,还包括:
向所述客户端发送卡慢异常定位信息,所述卡慢异常定位信息包括所述卡慢现象的发生原因。
11.一种电子设备,其特征在于,包括:
存储器,用于存储待处理应用程序,所述待处理应用程序包括业务功能代码和卡慢异常定位功能代码;
处理器,耦合至所述存储器,用于执行所述业务功能代码实现所述待处理应用程序的业务逻辑,并执行所述卡慢异常定位功能代码,以用于:
根据所述待处理应用程序中界面线程的运行状态,确定发生卡慢现象;抓取所述卡慢现象发生时所述待处理应用程序的堆栈上下文;根据所述堆栈上下文,定位所述卡慢现象的发生原因。
12.根据权利要求11所述的电子设备,其特征在于,所述处理器根据所述待处理应用程序中界面线程的运行状态,确定发生卡慢现象,具体为:
监控所述界面线程的响应状态;
根据所述界面线程的响应状态,确定发生所述卡慢现象。
13.根据权利要求12所述的电子设备,其特征在于,还包括:通信组件;
所述处理器监控所述界面线程的响应状态,具体为:
通过所述通信组件向所述界面线程的窗口发送带有超时参数的消息;以及
若监控到所述通信组件未能在所述超时参数指定的时间内接收到所述消息的返回结果,确定所述界面线程响应超时;
所述通信组件,耦合至所述处理器,用于向所述界面线程的窗口发送所述消息,并等待接收所述消息的返回结果。
14.根据权利要求13所述的电子设备,其特征在于,所述通信组件向所述界面线程的窗口发送带有超时参数的消息,具体为:
根据监控频率,周期性地向所述窗口句柄发送所述带有超时参数的消息。
15.根据权利要求14所述的电子设备,其特征在于,所述处理器定位所述卡慢现象的发生原因,具体为:
若所述界面线程响应超时,确定发生所述卡慢现象;或者
若所述界面线程响应超时的次数大于次数阈值,确定发生所述卡慢现象;或者
若所述界面线程连续两次响应超时之间的时间间隔小于间隔阈值,确定发生所述卡慢现象。
16.根据权利要求11-15任一项所述的电子设备,其特征在于,所述处理器定位所述卡慢现象的发生原因,具体为:
将所述堆栈上下文保存为崩溃文件;
根据所述崩溃文件,定位所述卡慢现象的发生原因。
17.根据权利要求16所述的电子设备,其特征在于,所述处理器根据所述崩溃文件,定位所述卡慢现象的发生原因,具体为:
提取所述崩溃文件具有的特征,将所述崩溃文件具有的特征在已标记特征中进行匹配,获取被所述崩溃文件匹配中的已标记特征所对应的卡慢原因,作为所述卡慢现象的发生原因。
18.一种电子设备,其特征在于,包括:
存储器,用于存储卡慢异常定位程序;
处理器,耦合至所述存储器,用于执行所述卡慢异常定位程序,以用于:
根据待处理应用程序中界面线程的运行状态,确定发生卡慢现象;
抓取所述卡慢现象发生时所述待处理应用程序的堆栈上下文;
根据所述堆栈上下文,定位所述卡慢现象的发生原因。
19.一种卡慢异常定位系统,其特征在于,包括:服务器和客户端;
所述客户端包括:
监控模块,用于根据待处理应用程序中界面线程的运行状态,确定发生卡慢现象;
抓取模块,用于抓取所述卡慢现象发生时所述待处理应用程序的堆栈上下文,并将所述堆栈文件保存为崩溃文件;
上报模块,用于将所述崩溃文件发送给所述服务器,并接收所述服务器发送的卡慢异常定位信息,所述卡慢异常定位信息包括所述服务器定位到的所述卡慢现象的发生原因;
所述服务器,用于接收所述崩溃文件,根据所述崩溃文件定位所述卡慢现象的发生原因,并向所述客户端发送所述卡慢异常定位信息。
20.根据权利要求19所述的系统,其特征在于,所述监控模块具体用于:
监控所述界面线程的响应状态;
根据所述界面线程的响应状态,确定发生所述卡慢现象。
21.根据权利要求19或20所述的系统,其特征在于,所述服务器具体用于:
获取所述崩溃文件具有的特征,将所述崩溃文件具有的特征在已标记特征中进行匹配,获取被所述崩溃文件匹配中的已标记特征所对应的卡慢原因,作为所述卡慢现象的发生原因。