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們可以在此基礎上進行錯誤分析。

 

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