前言:

这也是我的一篇很老的技术积累了。里面的6085平台是比较老的高通平台。到现在代码肯定有改动,但是搜索脚本的框架还是没有变,仍然可以作为参考。

如何抓取搜网流程SD的LOG

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

  本文使用的嵌入端软件是6085平台的33701基线.不同基线的脚本内容会有差异.

2 从SD的LOG看终端使用了那些脚本

这个比较简单,通过关键字“SCR=”MACTH LOG。

比如如下的抓图是MATCH的开机LOG,并且终端处在无信号的环境下。

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

这些打印语句基本在如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例)函数中打印。

以第一行为例,打印的信息为“User scr=1,line=1,cons=56”

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

“User”指出脚本所在的组,“SCR=1”指出是所在组的第几个脚本,“line=1”指出当前执行脚本的第几行,“cons=56”指出这一行的CONSRTUCTURE是多少。

总共有多少个组,从如下的枚举确定:

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

每个组对应的脚本集合在如下的函数中可以确定:

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

再回头看一下“User scr=1,line=1,cons=56”。

“User”代表如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例对应的脚本组为如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例。如下图:

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

“SCR=1”指出是上述组的第一个脚本,即如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

 

“line=1”指出目前在执行脚本的那一行。行数从0开始算起。目前执行:

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

“cons=56”指出目前行的行为,CONSTRUCT是多少。其值为如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例定义。

  当前执行的第一行扩展开如下:

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

。即当前的CONS为如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例,其枚举值即为56。

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

3 简单描述一下ACT_SCR宏的含义

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例会调用如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例即的一个脚本.

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

 

仍然以开机LOG为例:

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

按照ACT_SCR宏,实际上扩展为:如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例值为1,实际上是调用如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例的第一个脚本,即如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例.

  通过下面的打印语句也可以证明:即执行如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例的第一行后,转而执行如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例的第0行.

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

4. 简单描述一下PRE_SCR宏的含义

仍然以开机LOG为例:

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

 

即执行如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例的第一行后,转而执行如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例的第0行.

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

当执行如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例到第四行遇到PREV_SCR,则会返回原来的脚本如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例,继续执行.原来如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例执行到第一行,则现在执行如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例第2行.

  如下图的LOG抓图:

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

 

5. 简单描述一下PROC_EVT宏的含义

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

ACT_SCR用于调用CALLED组,即如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例的脚本.

其他还有多个组,如下图:

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

通过PROC_EVT,可以调用除CALLED组以外,其他组的脚本. 如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例的入参是如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例类型。如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例枚举值被分成若干组,每一组对应上面的一组脚本。这些组如下:

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

  下面的函数确定一个EVENT对应哪个组

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

 

  最终确定执行哪个脚本在函数如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例中。如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例中有一个循环,从事件对应的脚本组中从第0个脚本开始判断,遇到的一个符合条件的脚本则被执行。

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

 

仍然以开机LOG为例. 如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例最后调用了另一个脚本.

代码和LOG如下:

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例调用了CALLED 组的第三个脚本,即如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例.

 

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例抛出了一个事件如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例属于如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例组。如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例事件组对应如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例脚本组。

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例会遍历脚本组如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例。其第0个脚本为如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例前面三个判断条件,第二个条件如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例就不符合要求,CDMA下只有自动模式。所以不会如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例最调用。最终遍历到脚本如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例,符合条件,然后被执行。见如下LOG:

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

 

从上面的描述可以看到,在脚本组里同一个事件在不同条件可以触发不同的脚本,若两个脚本均符合条件,则在前面的脚本被执行。可见脚本的顺序也是比较关键的。

 

5. 添加一个脚本的示例

 

   此例子用于向如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例组添加一个脚本。

首先定义一个脚本,如下:

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

然后将其添加到如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例最后:

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

然后在如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例最后添加一个枚举值:

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

最后若在一个脚本里调用这个新脚本则添加如下这句话:

如何通过LOG确定终端调用了哪些SD脚本和 添加一个脚本的示例

 

相关文章:

  • 2021-12-28
  • 2021-09-04
  • 2022-12-23
  • 2021-11-15
  • 2021-08-19
  • 2022-12-23
  • 2022-12-23
  • 2021-08-21
猜你喜欢
  • 2021-06-08
  • 2021-11-26
  • 2021-11-01
  • 2021-10-14
  • 2021-04-25
  • 2022-12-23
  • 2021-06-29
相关资源
相似解决方案