軟體工具
產品簡介
ABEND-AID乃是將查錯專家的查錯思路及邏輯系統化,而以程式取代之,故可說是將查錯專家置於電腦內。
- ABEND-AID Base:可協助解決所有程式的不正常結束,其主要功能乃是在IBM系統處 理Dump工作之前,去分析虛擬記憶體(Virtual Storage)的內容,找出不正常結束的原因,並以簡單明瞭的語句說明分析的結果。另外ABEND-AID亦提供解決此錯誤所需 的相關資訊。
- XLS Option:提供對解決 COBOL, PL/I及ASSEMBLER程式不正常結束時進一步的協助,其範圍可分為編譯時的協助,及程式不正常結束時提供更方便有用的資訊。
- IMS Option:提供IMS資料庫系統,相關程式不正常結束時之診斷資訊清楚易讀的 Program Control Block和針對各個 PCB最後之6個IMS指令及Status key及最後一次 讀寫之sequence。
- DB2 Option:提供DB2資料庫系統,相關程式不正常節結束時之診斷資訊,如:SQL return code的解說,指出發生問題的 SQL statement, SQL communication area (SQLCA)的內容顯示column的內容,Plan name, Bind time and bind date等資訊。
ABEND-AID的運作原理:
當程式發生異常情況且此執行的JCL有加上SYSUDUMP或SYSABEND的DD CARD,ABEND-AID會自動地被啟動。當ABEND-AID被啟動後,ABEND-AID的處理過程如下:
- 在正常IBMDUMP的工作被觸及之前把它攔截下來。
- 徹底的分析所有情況。
- 找出問題的癥結所在。
- 決定適當層次的分析資訊。
- 以簡明易讀的語句說明分析的結果。
- 將分析結果所產生的報表儲存在ABEND-AID的報表檔案中。
- 提供ISPF介面供使用者瞭解有多少程式發生問題並可隨時查看報表,快速解決問題。
- 當利用ISPF查看報表內容時,ABEND-AID將報表內容與程式的原始碼比對,並顯示出ABEND-AID分析的結果與程式原始碼的內容。
ABEND-AID Base Option
ABEND-AIDBase主要功能包含ABEND的分析,SNAP-AID的應用,IBMDUMP 的提供及選擇,HELP的功能,使用者自訂的診斷資訊,並可分析 Assembly,PL/I,FORTRAN,COBOL 等主要語言的程式。
當程式發生不正常結束時,ABEND-AID提供下列分析報告:
- 診斷資訊(Diagnostic Section)
- ABEND的位置(Next Sequential Instruction)
- ABEND Task所有相關程式呼叫過程的相關資訊(Call Trace Summary)
- Working Storage的內容(Working Storage Section)
- 所有輸出入檔案的資訊(File Area)
- SNAP-AID的應用 SNAP-AID是一非常有用的動態式除錯(Dynamic Debugging)工具,它提供使用者在程式不發生ABEND時,仍可得到 ABEND-AID的報表(Diagnostic Section除外),使用者可在程式任何位置產生動態的追蹤及查錯訊息,SNAP-AID是利用一簡單的Subroutine Call,此Subroutine"SNAP-AID"為ABEND-AID所提供。SNAP-AID對程式邏輯及資料錯誤問題的偵錯非常有效,並可減少為了猜測變數或檔案內容所花的時間與系統資源。
- 使用者自訂的診斷資訊:ABEND-AID提供一個方法,讓使用者能將某些ABEND的偵錯經驗寫入ABEND-AID的診斷資訊庫中,此方法對全電腦中心偵錯經驗的匯總及經驗的傳承相當有用,另一方面對於新的ABEND Code也可以做深入的解說。此外,應用此法亦可達到錯誤訊息的標準化。
ABEND-AID/XLS Option
ABEND-AID/COBOL, PL/I及ASSEMBLER Option主要功能為提供SOURCE LEVEL的除錯能力包括,編譯時的協助,程式執行時的協助,和SNAP-AID的應用。
- 編譯時的協助透過 ABEND-AID XLS(Extend Language Support)所提供編譯程式的編輯,可將原有IBM COBOL,PLI及ASSEMBLER編譯程式所產生的Sourcelisting,DMAP,CLIST等報表,合併成單一報表,如此在除錯時較容易找到相對應的DMAP及CLIST,若有錯誤時亦可在錯誤的指令下看到錯誤的訊息,而不必忽前忽後的跳來跳去對照著看。且此報表較為簡短,最後亦可當成很好的系統文件。
- 程式執行時的協助ABEND-AID/XLS加強四部份功能:NEXTSEQUENTIAL INSTRUCTION, CALL TRACE SUMMARY,診斷資訊,WORKING-STORAGE SECTION。
- NEXT SEQUENTIAL INSTRUCTTON ABEND的位置以指令的號碼顯示,同時最近一次I/O或CALL的位置也是以指令的號碼顯示,使得程式人員迅速找到ABEND及最近一次I/O的指令。
- CALL TRACE SUMMARY在主副程式間呼叫的位置均以指令號碼表示,而不以相對位置表示。
- 診斷資訊在診斷資訊中若有牽涉到資料欄位的部份均以欄位名稱表示一目了然,不必再對照compile listing中相對應的值。
- WORKING-STORAGE SECTION在WORKING-STORAGE SECTION中所有的內容被FORMATTED成 易看的格式,每一個欄位的內容會對應著欄位名稱,欄位的內容同時以文字及十六 進位表示。
ABEND-AID/IMS Option
ABEND-AID/IMS option在IMS程式發生不正常結束時,提供下列資訊,以提高電腦人員偵錯能力。
- 診斷資訊。
- ABEND的位置。
- 執行過程中,程式呼叫之過程(Call Trace)。
- 程式相關變數的內容(Program storage Working Storage)。
- 輸出入檔案相關資訊。
- IMS環境,程式,版本等相關資料。
- Program Control Block(PCB)於程式出問題時之現場資料。
- 針對每個PCB,提供最後6個之IMS資料庫存取指令及其對應之STATUS。
- 以易讀之格式,提供Segment Search Area(SSA)。
- 提供Key Feed back Area之資料。
- 提供DFSPRPOX及DFSECP之內容以輔助偵錯。
ABEND-AID/DB2 Option
ABEND-AID/DB2 option在DB2程式發生不正常結束時,提供下列資訊,以提高電腦人員偵錯能力。
- 診斷資訊。
- ABEND的位置。
- 執行過程中,程式呼叫之過程(Call Trace)。
- 程式相關變數的內容(Program storage Working Storage)。
- 輸出入檔案相關資訊。
- DB2環境,程式,版本,Subsystem,Authorization ID等相關資料。
- SQL Return Code 之解釋。
- 發生問題之SQL指令。
- SQL Communication Area之內容。
- 顯示程式所參考之Column之內容。
- Plan的名稱及bind的日期與時間。
ABEND-AID作業效益分析
- 加快編譯後語法除錯的速度由於語法錯誤的訊息直接顯示在錯誤的指令之後,對於語法的除錯非常方便,可加快編譯後語法除錯的速度。
- 縮短系統發展測試時程由於有ABEND-AID的協助,使得在測試階段的程式發生ABEND時,可迅速找到問題的原因,也可縮短整個系統測試的時間。
- 方便程式文件的製作保存ABEND-AID編譯後產生的報表乃將Source listing,DMAP,CLIST合併成一份資料,對於原始程式文件保存非常方便。
- 利用SNAP-AID的應用,加速程式邏輯錯誤之問題對於程式執行時檔案的原始內容及變數內容的更動,SNAP-AID可提供非常方便之監控,同時對於程式邏輯及運算錯誤的問題均有幫助。
- 可統一訂定錯誤訊息 錯誤訊息的訂定,可讓使所有程式設計師,操作人員及往後負責維護人員,很容易的瞭解錯誤的原因,也可避免因錯誤訊息產生的詞句不一致,導致誤解,而延誤解決問題的時效。
- 縮短上線運轉系統斷線的時間系統上線後程式仍然會有ABEND的發生,如果ABEND解決的時間過長,使得業務單位電腦連線作業無法進行,導致電腦中心服務品質的降低。有了ABEND-AID的協助後,程式設計師不必再重新製造ABEND或加一些DISPLAY的指令才能找到問題之所在,因此縮短程式除錯的時間,提高對使用者的服務品質,此乃為電腦中心最終目的。
- 操作人員可自行解決部份批次作業的錯誤有ABEND-AID的協助,某些操作上或簡單的錯誤,操作人員可以依ABEND-AID報表上的診斷資訊來修正,如此應用系統維護人員半夜被詢問或呼叫到辦公室的次數減少。
- 提供應用系統異常之管理性整合報表:了解目前各應用系統異常情形,可以提供問題追蹤管理之確切資訊。
- 去除插旗子偵錯的指令,增加程式之執行效率,提高系統資源的管理性。