




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、CICS 技術(shù)文檔第五章 CICS應(yīng)用程序的調(diào)試CICS程序編譯通過不一定就意味著程序沒有問題。編譯器只關(guān)心源程序和不合乎程序語言的語法要求,如命令的拼寫,參數(shù)表是否符合要求,變量類型是否匹配等。而對(duì)于程序的邏輯是否正確并不關(guān)心,對(duì)用戶的響應(yīng)、操作更是不予考慮。因此就算程序順利通過編譯,各作業(yè)步返回碼均為零,這個(gè)程序安裝運(yùn)行也有可能不正確,如出現(xiàn)類似1+1不等于2的邏輯錯(cuò)誤,對(duì)于用戶的操作做出預(yù)料之外的響應(yīng),如程序并沒有按程序設(shè)計(jì)者的要求運(yùn)行而異常終止(ABEND)。這些錯(cuò)誤僅靠編譯器語法檢查是沒辦法解決的。因此一般來講CICS程序需要進(jìn)行進(jìn)一步的調(diào)試。通過調(diào)試糾正編譯器無法發(fā)現(xiàn)的錯(cuò)誤。與批處
2、理系統(tǒng)相比,CICS環(huán)境下進(jìn)行程序調(diào)試就比較方便了。CICS安裝完后,系統(tǒng)就提供一個(gè)專門的事務(wù)程序CEDF(CICS Execute Dialog Facility)來進(jìn)行在線程序調(diào)試。在CICS TS 版本中還額外提供一個(gè)事務(wù)程序CEDX用來對(duì)后臺(tái)運(yùn)行的在線程序進(jìn)行調(diào)試。5.1 CEDF簡(jiǎn)介 CEDF本身是個(gè)事務(wù)。它是CICSS系統(tǒng)提供的調(diào)試工具,用來實(shí)現(xiàn)對(duì)應(yīng)用程序的在線交互式的調(diào)試。CEDF的功能較強(qiáng),使用CEDF可以大大減少項(xiàng)目開發(fā)的時(shí)間。CEDF調(diào)用 CICS的執(zhí)行診斷設(shè)施EDF(Execution Diagnostic Facility)來交互式地調(diào)試命令級(jí)的應(yīng)用程序 不必再編寫專門
3、的調(diào)試程序來調(diào)試過程。CEDF允許在程序初始化時(shí)中斷程序,也可針對(duì)每個(gè)CICS命令,在程序結(jié)束時(shí)中斷程序。通過CEDF可決定程序中的CICS命令是否被執(zhí)行以及修改執(zhí)行結(jié)果等等,能幫助你專注于編寫的應(yīng)用程序的問題。CEDF事務(wù)程序提供對(duì)在線程序進(jìn)行交互式調(diào)試。它的功能非常強(qiáng)大,跟以前DOS下的DEBUG程序非常類似,接下來將進(jìn)行詳細(xì)介紹。使用CEDF之前,要保證已安裝了EDF資源定義。 由于本章的內(nèi)容偏應(yīng)用較多,所以在各小節(jié)中有較多的圖表及其說明部分。通過這一章的學(xué)習(xí),要求讀者會(huì)做在線的任務(wù)調(diào)試;能區(qū)分不同的 CEDF顯示和不同的功能健命令;了解可以用 ENTER TRACENUM(或 TRAC
4、EID)命令來在程序中建立用戶跟蹤人口點(diǎn)(這種命令在程序中井沒有實(shí)際的意義,僅用來供CEDF做調(diào)試用);掌握雙終端調(diào)試方法,在用CEDF做調(diào)試時(shí),可用一個(gè)終端來操作,也可用兩個(gè)終端來同時(shí)來進(jìn)行調(diào)試。5.2 CICS程序跟蹤C(jī)EDF的第一個(gè)中斷點(diǎn)是任務(wù)的初始化,此時(shí)CICS只對(duì)任務(wù)進(jìn)行一些初始化工作,如到PCT中驗(yàn)證TRANSID的合法性,查找事務(wù)對(duì)應(yīng)的入口程序,分配任務(wù)的TCA,EIB等控制塊。此時(shí)終端屏幕上顯示的主要是當(dāng)前任務(wù)的一些信息:任務(wù)的ID,對(duì)應(yīng)的事務(wù)的ID,初始的 EIB(EXEC Interface Block)值。每個(gè)任務(wù)都有一個(gè)EIB,任務(wù)不結(jié)束,EIB資源不釋放,EIB信息
5、在整個(gè)事物所涉及到的各個(gè)事物程序間直接共享,而不需要程序員用參數(shù)在事務(wù)程序間傳遞。若我們用COBOL語言嵌入CICS命令來編程,則可以看到由翻譯器翻譯得到的COBOL輸出代碼的鏈接節(jié)(LINKAGE SECTION)的第一行即為DFHEIBLK數(shù)據(jù)頂。LINKAGE SECTION。0l DFHEIBLK。02 EIBTIME PIC S9(7) COMP-3。02 EIBDATE PIC S9(7) COMP-3。02 EIBTRNIDPIC X(4)。02 EIBTASKNPIC S9(7) COMP-3。 圖5.1 CEDF啟動(dòng)顯示(第一部分) 圖5.1中第一個(gè) EIB的數(shù)據(jù)項(xiàng) EIBT
6、IME和第二個(gè)數(shù)據(jù)項(xiàng) EIBDATE給出了任務(wù)啟動(dòng)時(shí)的系統(tǒng)時(shí)間和日期,它們可以被CICS的ASKTIME命令修改,刷新成當(dāng)前的系統(tǒng)時(shí)間和日期。EIBTRNID給出了任務(wù)的事務(wù)標(biāo)識(shí)符,它是四個(gè)字符長(zhǎng)。EIBRCODE執(zhí)行的是返回代碼。EIBPOSN指出了光標(biāo)的位置。圖中下部的PF表示功能鍵命令,即若在鍵盤上按下相應(yīng)的功能健,會(huì)有相應(yīng)的命令操作。其中F7 是向前(上)滾屏,F(xiàn)8是向后(下)滾屏。這就是主機(jī)上所謂的“七上八下。讀者會(huì)發(fā)現(xiàn)在使用CEDF時(shí),各屏幕顯示中一般都是以“七上八下”來定義功能健的。 EIB的值較多,一屏顯示不下,顯示的各EIB值的下都有一個(gè)加號(hào),表示還有一些EIB值沒有顯示出,
7、可以敲F8鍵向下翻屏。圖5.1的上部中TRANSACTION:PA99說明當(dāng)前TASK是對(duì)應(yīng)的事務(wù)標(biāo)識(shí)符是PA99。相應(yīng)的與事務(wù)對(duì)應(yīng)的入口程序是PROGA99,而TASK:0000074指出CICS給本任務(wù)分配的任務(wù)編號(hào)是00004,與批處理下的作業(yè)的作業(yè)號(hào)一樣,在某一時(shí)刻任務(wù)編號(hào)是唯一的。DISPLAY:00說明當(dāng)前的屏顯編號(hào)為00,即正在執(zhí)行的屏幕,如果為負(fù)數(shù)表示是以前保存下來的屏幕。STATUS:PROGRAM INITIATION表示當(dāng)前任務(wù)所處的狀態(tài)是程序初始化狀態(tài)。 敲 F8功能鍵可以得到圖5. 2的顯示。圖5.2 CEDF啟動(dòng)顯示(第二部分) 圖5.2中 EIBERR數(shù)據(jù)項(xiàng)指出是
8、否接收到有關(guān)APPC會(huì)話的錯(cuò)誤,當(dāng) EIBERR指出有錯(cuò)誤時(shí),EIBERRCD中放收到的錯(cuò)誤代碼。注意到圖5. 2中的功能鍵命令與圖5.1中的功能鍵命令有所不同,顯示的各EIB值的上部有一個(gè)加號(hào),表示可以敲F7鍵向上滾屏。敲F8可得到圖5.3的顯示。圖5.3圖5.3中 EIBRESP數(shù)據(jù)項(xiàng)中放著與發(fā)生的 RESP情況相應(yīng)的數(shù)字,比如數(shù)字 00表示正常,17表示IO錯(cuò),40表示溢出等。敲回車鍵得到下一屏幕顯示圖5.4。注意這里的回車鍵指的是3270終端方式定義的回車鍵也稱執(zhí)行鍵,通常對(duì)應(yīng)PC鍵盤上的右CTRL鍵,當(dāng)然如果是模擬終端的話,用戶可以重新設(shè)定到任意鍵上,比如ENTER鍵。5.3 在CE
9、DF中修改參數(shù)值和返回碼 CEDF可以在CICS命令真正執(zhí)行之前暫停,此時(shí)調(diào)試人員可以直接修改CICS命令中的一些參數(shù)的值。這里說的參數(shù)是個(gè)什么概念呢?讀者可能還記得在前面章節(jié)中,我們?cè)?jīng)講到CICS 命令的格式。比如命令 EXEC CICS SEND FROM(FLDA)LENGTH(5)END-EXEC。其中SEND是命令,F(xiàn)ROM是選擇項(xiàng)(Option),F(xiàn)LDA就是選項(xiàng)的參數(shù),這個(gè)參數(shù)在CICS中叫Argument,即選擇項(xiàng)FROM的選擇項(xiàng)參數(shù)。LENGTH是選項(xiàng),5是LENGTH的選項(xiàng)參數(shù)。 圖5.4 修參數(shù)值 圖5.4中,EXECCICSDELETEQTSQUEUE(QUEUEZ)
10、NOHANDLE是將隊(duì)列QUEUEZ從臨時(shí)存儲(chǔ)區(qū)中刪除的CICS命令。其中NOHANDLE是可以用在任何命令中的選擇項(xiàng)用來指示對(duì)由命令執(zhí)行產(chǎn)生的任何情況或AID不采取行動(dòng)。圖中上方的STATUS:ABOUT TO EXECUTE COMMAND指示準(zhǔn)備執(zhí)行命令,但還沒有執(zhí)行。你可以在執(zhí)行之前,修改臨時(shí)存儲(chǔ)隊(duì)列名,即在QUEUE位置將QUEUEZ改為其他的隊(duì)列名。還可以清掉命令來跳過當(dāng)前的命令執(zhí)行,也可以用NOP或NOOP命令替代,跳過當(dāng)前命令的執(zhí)行。這在測(cè)試應(yīng)用的特別邏輯流程時(shí)較有用。比如,你有一個(gè)出錯(cuò)的程序段,段中有CICS ABEND和CICS DUMP命令,你可能只是想知道你的程序流程是
11、否正確,而并不想真正產(chǎn)生ABEND或DUMP,圖中OFFSET表示該命令在程序中的偏移量。EIBFN數(shù)據(jù)項(xiàng)中放著指示最近給出的 CICS命令的代碼,比如代碼 0402表示最近執(zhí)行的 CICS命令是 RECEIVE命令,0404表示是 SEND命令,0802表示是 WRITEQ TD命令。敲執(zhí)行鍵可得到圖5. 5。 圖5.5 修改返回碼 通過CEDF可以修改命令的響應(yīng)結(jié)果。在調(diào)試程序時(shí),有些程序段在正常情況下很難發(fā)生的條件下才執(zhí)行,這樣,就可以強(qiáng)行設(shè)定條件來調(diào)試那些在一般情況下很少執(zhí)行的程序段。在圖5.5中可以修改RESPONSE位置的返回碼。圖中給出的響應(yīng)結(jié)果是QIDERR,表示找不到指定的隊(duì)
12、列名,44 是 QIDERR錯(cuò)誤對(duì)應(yīng)的 RESP值。STATUS:COMMAND EXECUTION COMPLETE表示任務(wù)執(zhí)行的狀態(tài),本命令執(zhí)行正確結(jié)束。下面的圖5. 6是執(zhí)行到SEND MAP命令時(shí)的屏顯。圖5.6中給出的CICS命令SENDMAP是向終端發(fā)送屏幕映射。其中MAP(PG99MAP)指出要發(fā)送的屏幕映射是PG99MAP。FROM(dataarea)描述了包含要處理的數(shù)據(jù)的數(shù)據(jù)區(qū)所在內(nèi)存中的值,MAPSET(PG99SET)定義了要使用的屏幕映射集(MAPSET)名,這個(gè)屏幕映射集包含在CICS程序裝載庫(kù)中,它可以用CEDA DEFINE MAPSET命令定義或程序自動(dòng)安裝。
13、若沒有這個(gè)選擇項(xiàng),則屏幕映射選擇項(xiàng)給出的參數(shù),即屏幕映射名被作為屏幕映射集名。每個(gè)屏幕映射集中最多有999個(gè)屏幕映射。LENGTH選擇項(xiàng)指出以半字二進(jìn)制值方式格式化的數(shù)據(jù)的長(zhǎng)度,TERMINAL指出輸出數(shù)據(jù)被送到引發(fā)本事務(wù)的終端,F(xiàn)REEKB指出3270鍵盤在寫數(shù)據(jù)完成以后要釋放鍵盤,否則鍵盤處于鎖定狀態(tài),ERASE指定終端屏幕緩沖區(qū)舊的內(nèi)容先被清除,然后再發(fā)送MAP。圖5.6 翻譯器行號(hào)圖中顯示的行號(hào)由 CICS翻譯器的調(diào)試選項(xiàng)產(chǎn)生。行號(hào)指出當(dāng)前CICS命令在編譯輸出列表中所處的行號(hào),如圖5.7所示,它一般不是源程序的行號(hào),因?yàn)檫M(jìn)行CICS翻譯時(shí),會(huì)增加很多新行近來,這里顯示的行號(hào)往往比源程
14、序中的行號(hào)大不少。圖 5.8 程序編譯輸出列表中的行號(hào) 用戶顯示界面(USER DISPLAY)在SEND MAP命令之后,立即出現(xiàn)。如果SEND MAP命令送出的是一個(gè)要求用戶輸入信息的屏幕映像,對(duì)于偽會(huì)話式程序,用戶不必輸人值,因?yàn)檫@個(gè)屏幕映像會(huì)在任務(wù)結(jié)束時(shí)再次顯示。在其他情況下,要看當(dāng)前的MAP顯示界面,用F6鍵即可。CICS成功的關(guān)鍵是它以多任務(wù)為核心的高效率。CICS并不為系統(tǒng)中每個(gè)終端用戶都創(chuàng)建和維護(hù)一個(gè)任務(wù),那將需要處理幾千個(gè)任務(wù),這是不可能高效完成的。相反,僅當(dāng)用戶從終端發(fā)送輸人時(shí),CICS才為該用戶創(chuàng)建一個(gè)任務(wù)。CICS為該終端創(chuàng)建一個(gè)任務(wù),執(zhí)行一個(gè)程序,處理終端輸人,必要時(shí)
15、更新文件或數(shù)據(jù)庫(kù),并將輸人傳回給用戶,然后任務(wù)就結(jié)束了。54 顯示任務(wù)的工作存儲(chǔ)空間有時(shí)候我們可能需要以十六進(jìn)制方式顯示選擇項(xiàng)參數(shù),這時(shí)只需要按F2就可以在十六進(jìn)制方式和字符方式間切換,如圖5.8所示。圖5.8 以十六進(jìn)制方式顯示選擇項(xiàng)參數(shù)圖5.8中,以十六進(jìn)制方式顯示了選擇項(xiàng)參數(shù),還顯示了相應(yīng)參數(shù)的地址,通過地址來著以這一地址開始的存貯器中的內(nèi)容。注意COMMAREA地址:1A8137C8將在后面用到。按下F5可以訪問工作存儲(chǔ)空間的內(nèi)容。得到圖5.9的顯示。圖5.9顯示了實(shí)際地址和相對(duì)地址,并以十六進(jìn)制格式和字符格式來顯示相應(yīng)存儲(chǔ)空間的內(nèi)容、要注意在中斷點(diǎn)處功能鍵的定義會(huì)因所處的畫面不同而不
16、同。若已經(jīng)知道了某個(gè)變量的相對(duì)地址,或已設(shè)了一個(gè)易于識(shí)別的標(biāo)記,則可以以此來確定要找的地址的位置,修改相應(yīng)的存儲(chǔ)單元的內(nèi)容。修改時(shí),可以修改左邊十六進(jìn)制格式的內(nèi)容,也可以修改右邊字符格式的內(nèi)容,若兩種格式同時(shí)都改了,則會(huì)采用十六進(jìn)制的修改。按下F2鍵,可以啟動(dòng)一個(gè)顯示臨時(shí)存儲(chǔ)隊(duì)列的事務(wù)CEBR,對(duì)此第8章會(huì)有較詳細(xì)的說明。按F5鍵,會(huì)啟動(dòng)CICS提供的事務(wù)CECI,它允許你不用寫程序,直接執(zhí)行CICS的API命令。 圖5.9 顯示工作存儲(chǔ)空間的內(nèi)容 圖5.10顯示指定內(nèi)存地址的內(nèi)容 在圖5.9中,要顯示其他地址的存儲(chǔ)空間的內(nèi)容,在左上方的ADDRESS位置散人地址。當(dāng)按下ENTER 鍵時(shí),就會(huì)
17、顯示以此地址開始的存儲(chǔ)空間的內(nèi)容。圖5.10顯示所給出的是COMMAREA區(qū)的內(nèi)容,它的地址是我們從上一個(gè)十六進(jìn)制格式的顯示中得到的1A8137C8。按下F4鍵可以得到圖5. 11的顯示。圖5. 11示 EIB的內(nèi)容55設(shè)置斷點(diǎn) 在工作存儲(chǔ)空間的屏顯中,按下 F4 鍵可以得到 EIB的內(nèi)容、圖5. 11是在存儲(chǔ)工作空間顯示狀態(tài)下按F4鍵后顯示的當(dāng)前的EIB值。 在中斷點(diǎn)的顯示中,敲F9會(huì)顯示當(dāng)前CEDF中斷點(diǎn)設(shè)置情況。比如在圖5.8的顯示狀態(tài)下按下F9健可得到圖5. 12顯示。圖5.12 設(shè)定中斷點(diǎn)條件 圖5. 12顯示了中斷點(diǎn)的定義.設(shè)定中斷條件以后,敲F4(停止條件)會(huì)繼續(xù)EDF,但不會(huì)顯
18、示后面的執(zhí)行直到中斷條件滿足。使用F3較方便,但CICS還是在做跟蹤,事務(wù)是以調(diào)試模式運(yùn)行,所以性能比正常情況要差一些。在顯示中若要給出行號(hào),它必須是翻譯器的輸出的列表的行號(hào),只在用DEBUG操作時(shí)方有效。要輸人行號(hào),需在規(guī)定的位置輸人,并且要左對(duì)齊。4.6 顯示前面跟蹤過的命令 使用CEDF調(diào)試時(shí),你可能想看看前面執(zhí)行過的命令,CEDF提供了這樣做的方法。 圖5. 13 顯示前面的命令 按F12鍵可將當(dāng)前畫面給記錄下來,默認(rèn)是記錄所有中斷點(diǎn)的畫面??梢詫?duì)這些保存下來的畫面翻頁(yè),按F10 鍵向前翻,F(xiàn)11向后翻,最多可以存10個(gè)畫面。 中斷點(diǎn)的顯示是自動(dòng)保存,其他顯示只在 F12(REMEMB
19、ER DISPLAY)可用時(shí)方能按F12鍵保存。在圖5. 13的右上角的數(shù)字前有一個(gè)負(fù)號(hào),這個(gè)負(fù)號(hào)指出了這一顯示是前面記下的顯示中的一個(gè)。當(dāng)你看以前的顯示時(shí),若想直接回到當(dāng)前的顯示(DISPLAY 00),可按ENTER 鍵或在DISPLAY位置用00覆蓋掉原來的數(shù)字。4.6 對(duì)偽會(huì)話方式事務(wù)進(jìn)行調(diào)試 由于偽會(huì)話的事務(wù)往往反復(fù)多次執(zhí)行,使用CEDF跟蹤時(shí)就要注意了。下面一系列的顯示描述了怎樣對(duì)偽會(huì)話程序進(jìn)行調(diào)試。圖5. 14中將要執(zhí)行的命令:EXEC CICS RETURN TRANSID(PG99) COMMAREA(.) LENGTH(1)說明將要執(zhí)行RETURN命令, COMMAREA
20、給出了一個(gè)通訊區(qū),這個(gè)通訊區(qū)將被獲得控制權(quán)的下一個(gè)程序使用,TRANSID(PG99)指定接下來哪個(gè)事務(wù)去執(zhí)行。LENGTH指出COMMAREA的長(zhǎng)度(有多少字節(jié)長(zhǎng))。按2次執(zhí)行鍵后會(huì)停在圖5.15畫面。 圖5. 14 繼續(xù)偽會(huì)話方式 田 5.15 當(dāng)前任務(wù)結(jié)束圖5.15畫面表示一次會(huì)話(任務(wù))要結(jié)束了,問是否繼續(xù)EDF調(diào)試,默認(rèn)在REPLY后面輸入YES,如果想結(jié)束EDF調(diào)試就輸NO,由于現(xiàn)在是調(diào)試偽會(huì)話程序,因此必須輸YES,敲執(zhí)行鍵后會(huì)回到用戶輸入界面,用戶輸完數(shù)據(jù)敲執(zhí)行鍵或其他功能鍵后,又會(huì)啟動(dòng)TRANSID指定的PG99事務(wù),又產(chǎn)生一個(gè)新的任務(wù),從圖5.16的任務(wù)編號(hào)就可以看出,但這
21、個(gè)任務(wù)依然以EDF調(diào)試模式運(yùn)行,就這樣可以對(duì)一個(gè)偽會(huì)話程序反復(fù)調(diào)試,直到滿足要求,在詢問是否結(jié)束EDF時(shí)輸入NO就可以退出EDF調(diào)試模式了。圖 5.16 重新對(duì)新的任務(wù)進(jìn)行跟蹤4.7 CEDF高級(jí)應(yīng)用² 請(qǐng)求異常終止任務(wù) 在使用CEDF調(diào)試時(shí),有的情況下你可能覺得不想或不必再繼續(xù)下面命令的調(diào)試,比如你已經(jīng)找到出錯(cuò)的語句和原因了,這時(shí)你可以在CEDF中請(qǐng)求異常終止任務(wù)。 要異常結(jié)束一個(gè)任務(wù),必須請(qǐng)求兩次。在中斷點(diǎn)按F12鍵(ABEND USER TASK)來異常結(jié)束用戶任務(wù),得到提示信息;輸人異常終止代碼,再次請(qǐng)求異常終止,即再按一次F12鍵,就可以人為產(chǎn)生一個(gè)異常,然后結(jié)束調(diào)試。如圖
22、5.17,第一按F12時(shí)出現(xiàn)詢問畫面,在REPLY后面位置輸人異常終止代碼 HUST,再按一次 F12鍵。然后得到圖5.18的畫面。 圖 5.17異常終止詢問圖5. 18 產(chǎn)生ABEND圖5. 18顯示了異常終止發(fā)生時(shí)的 EIB值內(nèi)容,注意到發(fā)生的異常終止是HUST異常,就是在上一步REPLY后輸入的內(nèi)容。按下執(zhí)行鍵得到圖5. 19的畫面。圖 5.19 異常任務(wù)中止 發(fā)生異常終止時(shí),會(huì)給出異常終止截取顯示和CICS事務(wù)異常終止信息。這個(gè)信息中包含有異常終止代碼。圖5.20的屏幕的下方給出了這些信息。這些信息以外的其他的顯示是在異常終止之前的用戶顯示畫面。圖 5.20 TASK 出現(xiàn)ABEND&
23、#178; 在雙終端調(diào)試 CEDF可以在雙終端模式下使用,也就是說,可以用雙終端方式來調(diào)試應(yīng)用程序.在雙屏員模式中,用一個(gè)終端做EDF跟蹤,用另一個(gè)終端與調(diào)試的事務(wù)做輸人輸出。首先,在EDF結(jié)束時(shí),在終端中激CEDF tit,其中h是將要調(diào)試的事務(wù)用的終端。CEDF給的響應(yīng)信息要因第二終端(在這里是tit)是否已經(jīng)有事務(wù)在運(yùn)行而定。如果第二終端空閑,在第一終端上會(huì)顯示 TERMINAL 0002:EDF MODE ON,當(dāng)需調(diào)試的事務(wù)在第二終端開始啟動(dòng)執(zhí)行,在第一個(gè)終端上開始顯示程序初始化的信息。也可以用EDF在雙屏顯模式下監(jiān)控正在另一臺(tái)終端上運(yùn)行的事務(wù)。比如,你可能覺得0008終端出現(xiàn)死循環(huán)
24、,你可以在另一個(gè)終端敲人CEDF 0008。這時(shí)顯示的信息為:TERMINAL 0008:TRANSACTION RUNNIN: EDF MODE ON,接下來CEDF就能對(duì)0008終端上的程序進(jìn)行跟蹤,找出死循環(huán)的語句。 圖5.21 雙終端調(diào)試模式在圖5.21中,左方的終端是操作終端,進(jìn)行輸入數(shù)據(jù)等操作,右方的終端是調(diào)試終端。在調(diào)試終端上敲下 CEDF LA77,則此后在操作終端上的執(zhí)行的命令都會(huì)在調(diào)試終端上以EDF調(diào)試。要查看終端的終端號(hào)可以用 CEOT事務(wù)來看。雙終端調(diào)試只需要知道操作終端的終端號(hào)就可以了,不需要知道調(diào)試終端的終端號(hào)。² 跟蹤主語言變量若想在比較長(zhǎng)又沒有CICS
25、命令的COBOL程序段中,交互式地查看一些COBOL變量的內(nèi)容,可以通過插入用戶跟蹤人口點(diǎn)來實(shí)現(xiàn)。這個(gè)命令是ENTER,必須給的選項(xiàng)只有一個(gè)TRACEID(CICSMVS 或 CICSOSVS)或TRACENUM(CICSESA),它是一個(gè)半字長(zhǎng)的二進(jìn)制數(shù)據(jù)??梢栽贓XEC CICS ENTER命令中寫人FROM(dataarea)選項(xiàng),F(xiàn)ROM指定一個(gè)8字節(jié)的數(shù)據(jù)區(qū),以使你能在用CEDF跟蹤時(shí)看到它,這一項(xiàng)是可選的。 下列代碼是伸用ENTER的例子。對(duì)于CICSMVS or CICSOSVS EXEC CICS ENTER TRACEID(01)FROM(MSG1) END-EXEC EXE
26、C CICS ENTER TRACEID(02)FROM(MSG2) END-EXEC EXEC CICS ENTER TRACEID(03)FROM(MSG3) END-EXEC對(duì)于CICSESAEXEC CICS ENTER TRACENUM(01)FROM(MSG1) END-EXECEXEC CICS ENTER TRACENUM(02)FROM(MSG2) END-EXECEXEC CICS ENTER TRACENUM(03)FROM(MSG3) END-EXEC以后對(duì)程序使用CEDF跟蹤時(shí),這些語句就能中斷停下來,從而能察看、修改MSG1,MSG2,MSG3這三個(gè)COBOL變量的
27、值。5.5 后臺(tái)應(yīng)用程序的調(diào)試在CICS中有些應(yīng)用程序只在后臺(tái)運(yùn)行,并不在終端上做輸入輸入。比如那些讓用戶從WEB上調(diào)用的程序,或者由其他CICS區(qū)域DPL調(diào)用的程序等等。那么這種程序該怎么樣調(diào)試呢?CICS提供了一個(gè)內(nèi)置事務(wù)CEDX專門用來調(diào)試跟蹤這些與終端無關(guān)的后臺(tái)應(yīng)用程序。使用方法為在任意一終端上運(yùn)行CEDX 所要調(diào)試的事務(wù)ID,就可以了,終端上提示:TRANSACTION XXXX: EDF ON,一旦系統(tǒng)中該事務(wù)被啟動(dòng),馬上就會(huì)在終端上被CEDX發(fā)現(xiàn),然后中斷,接下來就可以進(jìn)行類似于CEDF的調(diào)試、跟蹤了。例如,首先在一終端上輸入:CEDX PA99,回顯:TRANSACTION PA99: EDF ON,表示CEDX已在當(dāng)前終端上對(duì)PA99事務(wù)進(jìn)行監(jiān)視了。接下來在任意終端上運(yùn)行PA99,你會(huì)發(fā)現(xiàn)好像被卡住了一樣,同時(shí)運(yùn)行CEDX的終端上開始出現(xiàn)類似于CEDF一樣的調(diào)試信息了,如圖5.22,接下來就可以用CEDF的調(diào)試方法進(jìn)行調(diào)試了。圖 5.22 使用CEDX調(diào)試后臺(tái)程序5.9 CECI及CECS命令CECI 和 CECS是CICS內(nèi)置的兩個(gè)事務(wù),C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 腹瀉患兒的護(hù)理動(dòng)畫
- 廣東工商職業(yè)技術(shù)大學(xué)《體育二》2023-2024學(xué)年第二學(xué)期期末試卷
- 石河子大學(xué)《高材化工設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 西安航空學(xué)院《計(jì)算機(jī)在化學(xué)中的應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 金肯職業(yè)技術(shù)學(xué)院《學(xué)術(shù)論文寫作A》2023-2024學(xué)年第二學(xué)期期末試卷
- 貴州黔南經(jīng)濟(jì)學(xué)院《先進(jìn)材料前沿與進(jìn)展》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州工程技術(shù)職業(yè)學(xué)院《兒童歌曲伴奏與彈唱(2)》2023-2024學(xué)年第二學(xué)期期末試卷
- 電子科技大學(xué)中山學(xué)院《中外電影文化》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海閔行職業(yè)技術(shù)學(xué)院《建筑設(shè)計(jì)(5)》2023-2024學(xué)年第二學(xué)期期末試卷
- 梧州學(xué)院《跨境電商模擬》2023-2024學(xué)年第二學(xué)期期末試卷
- 小學(xué)科學(xué)教育課程實(shí)施方案
- DB11T 1035-2013 城市軌道交通能源消耗評(píng)價(jià)方法
- 2024新能源光伏電站運(yùn)行規(guī)程和檢修規(guī)程
- 供應(yīng)室課件大全
- 銀行存管三方協(xié)議書
- 2024義務(wù)教育道德與法治課程標(biāo)準(zhǔn)(2022版)
- 2024年新人教版化學(xué)九年級(jí)上冊(cè)全冊(cè)課件(新版教材)
- 智能體脂秤市場(chǎng)洞察報(bào)告
- 教科版 二年級(jí)科學(xué)上冊(cè)第一單元第6課《不同的季節(jié)》同步練習(xí)(附答案解析)
- 山東省東營(yíng)市2024年中考英語真題【附真題答案】
- 2024義務(wù)教育英語新課標(biāo)課程標(biāo)準(zhǔn)2022年版考試真題附答案
評(píng)論
0/150
提交評(píng)論