一种无响应日志解析方法及终端与流程

文档序号:12729288阅读:来源:国知局

技术特征:

1.一种终端,其特征在于,包括:

分析模块,用于获取当前无响应日志的无响应参数;

查询模块,用于查询与所述无响应参数分别相同的已有无响应日志;

归类模块,用于将所述当前无响应日志与查询到的所述已有无响应日志归为同一类;

其中,所述无响应参数包括:PACKAGENAME应用包名称、COMPONENT无响应组件、ANRTYPE无响应类型、以及REASON无响应原因。

2.根据权利要求1所述的终端,其特征在于,所述分析模块根据预设判定规则依次获取所述无响应参数。

3.根据权利要求2所述的终端,其特征在于,所述分析模块包括:

第一分析模块,用于当查询到所述当前无响应日志当前行中包含PACKAGENAME的无响应问题时,匹配下一行ANR应用程序无响应的PACKAGENAME;

第二分析模块,用于获取下一行PID包标识符、ANRTYPE、COMPONENT;

第三分析模块,用于根据所述PID查询traces日志文件中对应的PACKAGENAME线程的堆栈状态,根据所述堆栈状态获取REASON。

4.根据权利要求3所述的终端,其特征在于,所述第三分析模块包括:

第一判断模块,用于当当前查询线程与已查询过的线程分别因持有对方等待的资源锁导致死锁时,将死锁链上的线程名称组合,作为REASON;‘

第二判断模块,用于当当前查询线程等待其他线程持有的资源锁,且所述当前查询线程正在binder其他进程的线程,将binder服务端的进程名称和线程最后一行调用栈名称作为REASON;

第三判断模块,用于当当前查询线程等待其他线程持有的资源锁,且当前查询线程未binder其他进程的线程,将当前线程最后一行调用栈信息作为REASON。

5.根据权利要求1-4任一所述的终端,其特征在于,还包括:

新建模块,用于当未查询到与所述无响应参数分别相同的已有无响应日志时,将当前无响应日志添加到无响应日志队列中。

6.一种方法,其特征在于,所述方法包括:

获取当前无响应日志的无响应参数;

查询与所述无响应参数分别相同的已有无响应日志;

将所述当前无响应日志与查询到的所述已有无响应日志归为同一类;

其中,所述无响应参数包括:PACKAGENAME应用包名称、COMPONENT无响应组件、ANRTYPE无响应类型、以及REASON无响应原因。

7.根据权利要求6所述的方法,其特征在于,所述获取当前无响应日志的无响应参数包括:

根据预设判定规则依次获取所述无响应参数。

8.根据权利要求6所述的方法,其特征在于,所述获取当前无响应日志的无响应参数包括:

当查询到所述当前无响应日志当前行中包含PACKAGENAME的无响应问题时,匹配下一行ANR应用程序无响应的PACKAGENAME;

获取下一行PID包标识符、ANRTYPE、COMPONENT;

根据所述PID查询traces日志文件中对应的PACKAGENAME线程的堆栈状态,根据所述堆栈状态获取REASON。

9.根据权利要求8所述的方法,其特征在于,所述据所述PID查询traces日志文件中对应的PACKAGENAME线程的堆栈状态,根据所述堆栈状态获取REASON包括:

当当前查询线程与已查询过的线程分别持有对方等待的资源锁,导致死锁时,将死锁链上的线程名称组合,作为REASON;‘

当当前查询线程等待其他线程持有的资源锁,且所述当前查询线程正在binder其他进程的线程,将binder服务端的进程名称和线程最后一行调用栈名称作为REASON;

当当前查询线程等待其他线程持有的资源锁,且当前查询线程未binder其他进程的线程,将当前线程最后一行调用栈信息作为REASON。

10.根据权利要求6-9任一所述的方法,其特征在于,在所述查询与所述无响应参数分别相同的已有无响应日志步骤之后,所述方法还包括:

当未查询到与所述无响应参数分别相同的已有无响应日志时,将当前无响应日志添加到无响应日志队列中。

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