CICS错误定位与分析解读课件.ppt

上传人:牧羊曲112 文档编号:1481026 上传时间:2022-11-30 格式:PPT 页数:60 大小:341.50KB
返回 下载 相关 举报
CICS错误定位与分析解读课件.ppt_第1页
第1页 / 共60页
CICS错误定位与分析解读课件.ppt_第2页
第2页 / 共60页
CICS错误定位与分析解读课件.ppt_第3页
第3页 / 共60页
CICS错误定位与分析解读课件.ppt_第4页
第4页 / 共60页
CICS错误定位与分析解读课件.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《CICS错误定位与分析解读课件.ppt》由会员分享,可在线阅读,更多相关《CICS错误定位与分析解读课件.ppt(60页珍藏版)》请在三一办公上搜索。

1、错误定位,刘睿,概要,错误日志分类Console文件Symrecs文件CSMT.out文件Dump和Traceback文件CICS DumpTraceback文件可用的系统工具综合分析,错误日志分类,错误日志文件,CONSOLE文件CICS Region Startup, Shutdown ,Transaction Error/Failure SYMRECS文件CICS Error Conditions, Symptom Records and Stack trace.TRACEBACK文件stack information when an Exception occurs in CICS.

2、(Illegal address or Illegal instruction)CSMT.out文件Transaction Error Messages, Communication Errors.env文件Dump文件XA Log文件CICS Trace,Console文件,Console.nnnnnn 位于 /var/cics_regions/最大长度取决于RD:MaxConsoleSize。如果写信息到stderr的话,就会写入Console文件。信息分类:Information消息例:ERZ010054I/0205 2006-07-24 11:34:48.827332000 CICSN

3、T01 3264/0001 : CICS 自相一致性检查完成Warning消息例:ERZ016050W/0234 2006-07-24 11:36:53.175833000 CICSNT01 2260/0001 : 事务处理 CRTE 的逻辑工作单元已被逆序(现场)恢复;分布式事务处理服务 (TRAN) 原因 ENC-tra-1025: 客户机(不是事务服务)异常中止Error消息例:ERZ058009E/0020 2006-07-24 11:36:55.629361000 CICSNT01 2260/0001 : 代码页IBM-1381和代码页IBM-850之间的数据转换例程不可用,错误号为

4、 2,Console信息举例,ERZ010054I/0205 2006-07-24 11:34:48.827332000 CICSNT01 3264/0001 : CICS 自相一致性检查完成ERZ014040E/0107 2006-07-24 11:36:29.011086000 CICSNT01 2260/0001 AB34: 在程序DFHCEMT中事务CEMT发生首次异常结束A28BERZ014016E/0028 2006-07-24 11:36:29.071172000 CICSNT01 2260/0001 AB34: 事务处理 CEMT,在 AB34 异常终止A147。SERVICE

5、_MESSAGE 2006-07-24 11:36:29.101216000 CICSNT01 2260/0001 : Abend A147 (first abend A28B) is reported as transaction CEMT is force-purged.ERZ058009E/0020 2006-07-24 11:36:53.075689000 CICSNT01 2260/0001 : 代码页IBM-1381和代码页IBM-850之间的数据转换例程不可用,错误号为 2ERZ014010E/0012 2006-07-24 11:36:53.105732000 CICSNT01

6、 2260/0001 : 不能初始化远程系统的通信以运行事务处理 CRTE。ERZ014016E/0036 2006-07-24 11:36:53.135776000 CICSNT01 2260/0001 : 事务处理 CRTE,在 ? 异常终止A28D。ERZ016050W/0234 2006-07-24 11:36:53.175833000 CICSNT01 2260/0001 : 事务处理 CRTE 的逻辑工作单元已被逆序(现场)恢复;分布式事务处理服务 (TRAN) 原因 ENC-tra-1025: 客户机(不是事务服务)异常中止ERZ058009E/0020 2006-07-24 1

7、1:36:55.629361000 CICSNT01 2260/0001 : 代码页IBM-1381和代码页IBM-850之间的数据转换例程不可用,错误号为 2ERZ014010E/0012 2006-07-24 11:36:55.659404000 CICSNT01 2260/0001 : 不能初始化远程系统的通信以运行事务处理 CRTE。ERZ014016E/0036 2006-07-24 11:36:55.699462000 CICSNT01 2260/0001 : 事务处理 CRTE,在 ? 异常终止A28D。ERZ034114E/0731 2006-07-24 11:36:55.69

8、9505000 CICSNT01 3884/0001 : 从运行时数据库中尝试卸装条目 1AN 失败。条目标记为使用。ERZ016050W/0234 2006-07-24 11:36:55.729505000 CICSNT01 2260/0001 : 事务处理 CRTE 的逻辑工作单元已被逆序(现场)恢复;分布式事务处理服务 (TRAN) 原因 ENC-tra-1025: 客户机(不是事务服务)异常中止,Symrecs文件,symrecs.nnnnnn 位于 /var/cics_regions/Symrecs记录的格式:SYMPTOMS = primarysymptom dataSECONDA

9、RY SYMPTOMS = secondary symptom data,Symrecs记录举例,SYMPTOMS = PIDS/5765E2820 LVLS/430 PTFS/ RIDS/TasLU_UpdateTidState LINE/-1 MS/016001 MSN/63 SRC/11 PRCS/2097152 AB/U1601 PID/40608 TID/1 TIME/030112052304 ISTSECONDARY SYMPTOMS = PostMortem (Error Path is offset x594 in TasLU_UpdateTidStateTasLU_ISync

10、pointTasLU_SyncpointPinCA_RouteCICSAPIE) logging where error occurred,CSMT.out文件,位置:/var/cics_regions/data也可以写应用信息到CSMT.out文件:EXEC CICS WRITEQ TD QUEUE(CSMT) FROM(debug-data)TXSeries v6.2以后可以限制文件的最大长度为:TDD:CSMT:MaxSize。,CSMT.out信息举例,ERZ015033E/0003 03/10/03 09:35:09 CICSMAIN UHHP: Transaction QA55 a

11、ttempts to run program QA55SUB which is not defined in the databaseERZ015033E/0003 03/10/03 09:36:52 CICSMAIN YHHP: Transaction QA55 attempts to run program QA55SUB which is not defined in the database,CSMT.out信息举例,ERZ028001E/6212 01/28/03 15:19:45 CICSPROD PS12: The connection to the remote system

12、HOST cannot be started. Communications error 15a00002/15a00102ERZ042028I/0159 01/28/03 15:19:56 CICSPROD : Terminal PS12 with NETNAME PS12 has been uninstalled.ERZ042043I/0802 01/28/03 15:20:00 CICSPROD : Waiting for tasks to finish with CD entry 04PS for remote system PS04ERZ016050W/0234 01/28/03 1

13、5:23:26 CICSPROD : Logical unit of work for transaction TPSL has been backed out; Distributed Transaction Service (TRAN) reasonENC-tra-1025: A client (not the transaction service) aborted,一些Communications error code的含义,15a00002/15a00102原因之一:远端域宕机,或者网络不通原因之二:在本地TD:timeout超时,远端交易还在队列LINK返回SysIdErr15a0

14、0007/a0000100Connection failed原因之一:在本地TD:timeout超时,远端交易还在运行LINK返回TermErr#注:在cics_eci.h中说明了所有主码为15a00007的解释。15a00007/84b6031Transaction unavailable原因之一:RD:MaxTClassLim引起的RejectLINK返回TermErr15a00007/8640000Remote Transaction Abend引发本地交易肯定Abend,.env示例,Dump和Traceback文件,CICS Dump 内容,Transaction Dump将内存写入

15、 Dump 文件中System Dump上一次 CICS 命令执行的细节每一笔交易的执行细节Region 的在 Dump 当时的配置非交易类进程的情况, 例如 recovery serverEncina Client 的信息所有 Enabled CICS Trace 信息,CICS Dump 文件,目录RD.DumpName缺省为 dumpsRD.CoreDumpName缺省为 dir1文件名AAAANNNN.dmpmmAAAA - ASRA, ASRB, SYSA, SHUT, SNAP, dump code, abend codeNNNN 序列号mm 文件序号, 如果文件太大, 自动被切成

16、多个, 用 01, 02 标记,CICS Dump 设置方法,CICS Dump 的设置,离线设置TD.TransDumpRD.SysDumpRD.PCDumpRD.ABDump在线设置CEMT INQUIRE/SET DUMPCEMT INQUIRE/SET DUMPOPTIONsUser ExitDump Request User Exit (UE052017),生成 CICS Dump,Transaction DumpEXEC CICS DUMPEXEC CICS ABENDCECI DUMPCECI ABEND交易异常终止, 包含 ASRA 和 ASRB,System Dump系统异常

17、终止CICS shutdownCEMT PERFORM SNAPASRAASRB,CICS Dump 转换工具,Cicsdfmtcicsdfmt r ,CICS Dump 格式,CICS Dump Region Config RD,* DATABASE CLASS MODULE (RegDC) *DUMP START FOR CLASS RERuntime database for Class RDBuffer Address = 0 x38e153f4.RegRE IEntry: .Name of the default user identifier = CICSUSER CICS Rel

18、ease Number = 0430 Region system identifier (short name) = ISC0 Region application identifier (long name) = CICSRGN Minimum number of Application Servers to maintain = 1Maximum number of Application Servers to maintain = 5Region Pool Storage Size (bytes) = 2097152Task-private Storage Size (bytes) =

19、1048576Task Shared Pool Storage Size (bytes) = 1048576Threshold for Region Pool short on storage (%age) = 90Threshold for TSH Pool short on storage (%age) = 90Number of Task Shared Pool Address Hash Buckets = 512 .,CICS Dump Region Config TD,* DATABASE CLASS MODULE (RegDC) *DUMP START FOR CLASS TRRu

20、ntime database for Class TDBuffer Address = 0 x38e15400.RegTR IEntry: .Resource key buffer = THLOGroup to which resource belongs = SamplesActivate the resource at cold start? = yesResource description = Transaction DefinitionType of RSL Checks = noneType of TSL Checks = internalFirst program name =

21、PHELLO .,CICS Dump Region Config PD,* DATABASE CLASS MODULE (RegDC) *DUMP START FOR CLASS PRRuntime database for Class PDBuffer Address = 0 x38e153f0.RegPR IEntry: .Resource key buffer = PHELLO Group to which resource belongs = Samples Activate resource at cold start? = yesResource description = Pro

22、gram Definition Number of updates = 0Protect resource from modifications? = FALSEProgram path name = E:TXSeriesCICS_SamplesExercise_BMS/HelloProgram type = program .,CICS Dump Region Config UD,* DATABASE CLASS MODULE (RegDC) *DUMP START FOR CLASS USRuntime database for Class UDBuffer Address = 0 x38

23、e1540c.RegUS IEntry:Resource key buffer = CICSUSER Transaction Level Security Key List = 0000000100000000Resource Level Security Key List = 00000000DCE principal of the user = CICSUSER User priority = 0Encrypted password = .RegUS IEntry:Resource key buffer = TESTUSER Transaction Level Security Key L

24、ist = 0000000100000000Resource Level Security Key List = 00000000DCE principal of the user = TESTUSER User priority = 0Encrypted password = SgJAEYVDLJQ,CICS Dump Transaction Scheduler,* SCHEDULER MODULE (ConTS) *ConTS private RCA Data:Class Table:Class 0 tasks: waiting = 0active = 1max,lim = n/a,n/a

25、Class 1 tasks: waiting = 0active = 0max,lim = 1,0Class 2 tasks: waiting = 0active = 0max,lim = 1,0.Application Servers: Min = 1, Current = 3, Max = 5Server Idle Time (seconds) = 3600Idle Application Server Queue:Anchor = 0 x70000994, First = 0 x700a62fc, Last = 0 x700a62a0Waiting Tasks Queue:Anchor

26、= 0 x70000828, First = 0 x70000828, Last = 0 x70000828Running Tasks Queue:Anchor = 0 x70000820, First = 0 x700a21bc, Last = 0 x700a21bcList of idle application servers:Server Number 102.Server Number 101.List of Running transactions:Task No = 71, Tran Id = CEMT, User Id = , Device Id = App Server =

27、105, State = Running, Class = 0, Priority = 255,CICS Dump Task Control Area,Task Control Area Header:AIX process ID= 2520Application Server ID= 105.Task Control Area Task specific part:User Name= CICSUSERTCA Force Purge flag ?= FALSETCA Purge flag ?= FALSEReturnTran ?= FALSEUserMode ?= FALSE(若 TRUE,

28、 出错一定在用户代码中, 需要进一步调试程序)(若 FALSE, 出错可能是应用程序调用 CICS API 不当引起).EXEC Interface Block:= CICS EIB structure =EIBTIME : Time task started = Ox0202308CEIBDATE : Date task started= Ox0101224CEIBTRNID : Transaction ID= CEMTEIBRCODE : Response Code= Ox000000000000.,CICS Dump Control Module,Program Control Info

29、rmation:Program Name= DFHCEMTValue of Resident attribute= NoProgram full path name= C:optcicsbinDFHCEMT.dllProgram Data:Buffer Address= 0 x3815e000Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F ASCII EBCDIC - -0000 00000000 00000000 6300FFFF 00000000 .c. .0010 00000000 00000020 01000100 00000000 . . . 00000

30、000 . 4 lines of zeros suppressed.EXEC CICS command string:Buffer Address = 0 x127044EXEC CICS GETMAINSET (X00128110)FLENGTH (9200)INITIMG (0)NOHANDLE,通过 Dump 寻找应用错误 (AIX Only),加编译开关cicstcl s或CCFLAGS = “-qlist”会在编译后生成 *.lst 文件设置 RD 属性RD.ABDump = no或: CEMT SET DUMPOPTIONS NOABABENDRD.PCDump = no或:CEM

31、T SET DUMPOPTIONS NOPCABEND设置 TD属性TD.TransDump = yes交易出错时生成 Transaction Dump/var/cics_regions/region/dumps/dir1/AAAANNNN.dmpmm/var/cics_regions/region/dumps/dir1/cicsASPID.traceback,通过 Dump 寻找应用错误 (AIX Only),格式化 Dump 文件cicsdfmt r AAAANNNN.dmpmm AAAANNNN.dmpmm.txt注意, 不同平台上的 Dump 文件不一定可以相互做格式化例如 AIX 上

32、的 Dump 文件在 NT 上不能做 cicsdfmt在 txt 中查找调用堆栈, 找到出错点对照 *.lst 文件, 找到出错代码行对照 *.c 文件, 找到出错代码,寻找错误 (AIX Only) Sample,console.msgERZ052004I/0602 09/05/01 04:44:12 CICSRGN GPAC: Dump to ASRA0006.dmp started.ERZ052007I/0604 09/05/01 04:44:12 CICSRGN GPAC: Dump to ASRA0006.dmp completed.ERZ014016E/0028 09/05/01

33、04:44:12 CICSRGN GPAC: Transaction TDPU, Abend ASRA, at GPAC.ERZ015028W/0154 09/05/01 04:44:12 CICSRGN GPAC: Exception in user application code - exception string is: exc_e_illaddrERZ016050W/0234 09/05/01 04:44:12 CICSRGN GPAC: Logical unit of work for transaction TDPU has been backed out; Distribut

34、ed Transaction Service (TRAN) reason ENC-tra-1025: A client (not the transaction service) aborted,寻找错误 (AIX Only) Sample,ASRA0006.dmp01.txt* START OF TRANSACTION DUMP * Application Server id = 102 Transaction Id = TDPU User Name = CICSUSERDetails of function being executed: 0 x2ff1e8c0 Function Name

35、 = main Service Level = Offset of current instruction = 0 x1e8 Called by function = PinCA_StartC from offset = 0 x148 Called by function = TasPR_CallApplication from offset = 0 x404 Called by function = TasPR_RunProgram from offset = 0 x11d8.,寻找错误 (AIX Only) Sample,TransactionDumpUser.lst. 79 | CL.2

36、: 84 | 0001CC lwz 8062000C 1 L4A gr3=._iob(gr2,0) 84 | 0001D0 addi 38630040 2 AI gr3=gr3,64 84 | 0001D4 addi 389F0064 1 AI gr4=gr31,100 84 | 0001D8 bl 4BFFFE29 0 CALL gr3=fprintf,2,gr3,gr4,fprintf,. 84 | 0001DC ori 60000000 1 86 | 0001E0 lwz 8061004C 0 L4A gr3=pStringBuffer(gr1,76) 86 | 0001E4 addi

37、389F0078 1 AI gr4=gr31,120 86 | 0001E8 lswi 7CA4F4AA 4 LSI gr5-gr12=+CONSTANT_AREA(gr4,0), 30 86 | 0001EC stswi 7CA3F5AA 4 STSI #MEMORY(gr3,0)=30,gr5-gr12,mq 87 | 0001F0 lwz 80610048 1 L4A gr3=pCommArea(gr1,72) 87 | 0001F4 lwz 8081004C 0 L4A gr4=pStringBuffer(gr1,76) 87 | 0001F8 bl 4BFFFE09 0 CALLN

38、gr3,#MEMORY=strcpy,. 87 | 0001FC ori 60000000 1 92 | 000200 lwz 83C20008 0 L4A gr30=.$STATIC_BSS(gr2,0) 92 | 000204 addis 3C602000 1 LIU gr3=8192,寻找错误 (AIX Only) Sample,TransactionDumpUser.c21 void main ()22 24 long lRespCode;25 char * pCommArea;26 char * pStringBuffer = 0;29 EXEC CICS ADDRESS EIB (

39、dfheiptr) RESP (lRespCode); .57 EXEC CICS ADDRESS COMMAREA (pCommArea) RESP (lRespCode); .84 fprintf (stderr, CommArea = %sn);8586 strcpy (pStringBuffer, Transaction Dump in USER code);87 strcpy (pCommArea, pStringBuffer);90 EXEC CICS RETURN;98 ,Traceback文件,CICS produces traceback files when an appl

40、ication or CICS internal code raises an illegal exception (SigSEGV, SigILL).Traceback Files are generated under the directory /var/cics_regions/dumps/dir1The generated traceback file will have a filename cics.traceback where : pid is the process id which has generated traceback.,Traceback文件信息举例,-Sta

41、ck Traceback- PID = 32782, TID = 19 - Function strlen Offset = 00948 - Function main Offset = 01047 - Function PinCA_StartC Offset = 01D06 - Function TasPR_CallApplication Offset = 05085 - Function TasPR_RunProgram Offset = 14D84 - Function TasPR_IRun Offset = 1FEC3 - Function TasTA_Exec Offset = 1C

42、A02 - Function TasTA_Run Offset = 1C281 - Function main Offset = 0B680 - Function _start Offset = 0088 ,Traceback文件信息举例, 16 - Function sqlall Offset = 166015 - Function sqlsel Offset = 034414 - Function sqlnst Offset = 0CCC13 - Function sqlcmex Offset = 02B412 - Function sqlcxt Offset = 007411 - Fun

43、ction main Offset = 055810 - Function PinCA_StartC Offset = 01489 - Function TasPR_CallApplication Offset = 03D88 - Function TasPR_RunProgram Offset = 11D87 - Function TasPR_IRun Offset = 13B06 - Function TasPR_Run Offset = 0AB05 - Function PinCA_Route Offset = 06C44 - Function ComFS_APPCServ Offset

44、 = 0D503 - Function TasTA_Exec Offset = 19342 - Function TasTA_Run Offset = 16441 - Function main Offset = 09B40 - Function _start Offset = 0060,可用的系统工具,利用 系统工具诊断,showProcInfo (Encina ships this tool)dbxdumpThreadsAIX或其它UNIX命令工具,showProcInfo与dbx.,showProcInfo is a Encina supplied debugging tool. It

45、is based on dbx, which is a OS (in this case AIX) supplied debugger.dbx is available on Solaris but not on HP-UX. showProcInfo uses dde on HP-UX. gdb can also be used as a debugger.On AIX, dbx is available as part of the bos.debug fileset, which will need to be explicitly installed. If bos.debug is

46、not installed, even the showProcInfo would not run.This tool is heavily used by CICS customers to collect debugging data.Debuggers cannot catch the exits. Not a good practice to code exits in application programs.,showProcInfo简介,showProcInfo is run on CICS Application Servers and core. files to get

47、the current state of the process and its threads.Typically, showProcInfo is useful during a region hang, however could be used to collect a snapshot of the Application Server Processes.showProcInfo is available on all platforms.,dbx简介,dbx can be used to debug a program.Set breakpoints.Check the stac

48、k trace, etc.A program can be run through a dbx session itself or dbx can be attached to an already running program.How to run a program under dbx?dbx How to attach dbx to an already running program.Identify the process id of the program using the ps -ef command.Attach to dbx using, dbx -a .If the p

49、rograms are compiled with a -g option, the dbx will show the argument names as well, else only the offsets can be seen.How to see a core file through dbx?dbx coreOn Solaris and HP, could use the file command to find out which program dumped the core. On AIX , following command can be used for the sa

50、me: lquerypv -h core 6b0,dbx命令(1),If the program is being run in dbx, then we should type run command to start the program.If dbx is attached to an already running program, then once the dbx is attached, the program is on a hold. continue or cont command should be used to continue processing.Breakpo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备2025010119号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000987号