ABAP程序的DUMP分析工具与方法

当ABAP程序在运行过程中发生严重错误时,程序会通过DUMP的形式终止运行。分析DUMP产生的原因,排除程序问题是ABAPer需要掌握的基本技能。

在本篇博客中,将介绍两种常用的DUMP分析工具。

1. ST22 - Dump分析

ST22是最常用的Dump分析工具,可通过Filter具体的user来查看特定用户造成的DUMP。双击条目即可查看到具体的dump信息,包含dump发生时的系统运行环境、状态、运行数据等。有关ST22的介绍,网上已经有了很多介绍的资料,因此本篇中对此将不再进行详细的展开(需要的读者可自行Baidu >> ST22即可)。

辅助ST22的工具有:

  • ST03G - 系统负载分析。当在ST22中无法查看到具体的program name时,可根据ST22中记录的transaction id在ST03G中进行进一步的查询;
  • SM21 - 系统日志查询。在系统日志中,对于程序的运行错误也会进行相关的记录。

2. SBWP & SM13 - 收到Dump邮件

对于在IN UPDATE TASK中提交的任务,如果发生运行错误,ST22并无法记录到。对于这种错误,会通过系统邮件的方式发送给user。

这种Mail可以通过SBWP(或SO01)查看,在Mail提供了相关的transaction和Error Info,通过Error Info可以初步确定错误的原因。

SBWP的问题是,其在Mail中没有给出具体的程序位置,以及发生的Message number,而这些才是分析问题的关键信息。

其实对于这类发生在IN UPDATE TASK的DUMP,可以通过SM13 (或SM14)进行查看。可通过指定User,查看其所有的更新请求。

在更新请求中,可以看到产生错误的那一条任务,双击进入后,可以查看到具体的Error Message Number和具体的程序位置。

3. DUMP分析

1. 在ST22和SM13中,系统都提供了debugging的工具。通过使用debugging,可以恢复程序dump前一时刻的情景,ABAPer们可以在此基础上进行错误分析。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章