当时方位: 主页 > Linux学院 > 产品运用 > IBM AIX > 运用IBM Rational Developer for AIX and Linux软件调试布置CICS运用程序

运用IBM Rational Developer for AIX and Linux软件调试布置CICS运用程序

2014-07-28 10:00 来历:IBM 作者:Nageswararao V. Goka 人气指数: 我要谈论

本文将介绍怎么运用 IBM® Rational® Developer for AIX and Linux 软件调试布置在 IBM® TXSeries™ for Multiplatforms 区域中的混合言语 IBM CICS 运用程序。

Rational Developer for AIX and Linux 软件供给了一些集成的运用程序开发东西。它扩展了丰厚的 Eclipse 功用,尤其是长途体系资源办理器。

IBM TXSeries for Multiplatforms (TXSeries) 是一个通用的在线业务处理软件,用于处理安全性、数据完整性和资源调度。TXSeries for Multiplatforms 的集成式软件组件架构可用于创立客户信息操控体系 (Customer Information Control System, CICS) 环境。

CICS 集成了在线业务处理运用程序需求的根本业务软件服务。本教程供给了一个按部就班的进程来调试布置在 TXSeries 区域上的混合言语 CICS 运用程序。

在本文中,您将了解每个体系的更多信息。

Rational Developer for AIX and Linux 软件

IBM® Rational® Developer for AIX and Linux 软件能与其他根据 Eclipse 的东西无缝协作,这些东西包含用于协作式改变和项目办理的 IBM® Rational Team Concert™,以及 IBM® Rational® Application Developer for WebSphere® Software 集成开发环境 (IDE)。源代码修正支撑可协助开发人员运用 Remote Systems LPEX Editor 修正源代码,运用用于言语分析的主动缩进和文本特效等特性让您源程序的各个部分变得更为夺目。

源代码可存储在 Eclipse 项目中。这些项目支撑在与 IBM® AIX® 断开衔接时作业,然后在从头衔接时同步源代码。它们还经过适用于 Eclipse 渠道的源代码操控供给程序完成了团队同享。在构建项目中的源代码之后,一切过错反应都会集成到规范的 Eclipse 机制中。这能很快地为开发人员找到存在问题的代码行。

您能够运用长途体系资源办理器检查 IBM AIX 体系上的文件和进程。能够在集成的窗口中发动 shell 与 AIX 进行交互。

补白:
虽然本文介绍的是 IBM Rational Developer for AIX and Linux 客户端的运用,但该进程也相同适用于其他客户端,其间包含:IBM® Rational® Developer® for System z® 和 IBM Rational Developer for the Enterprise 客户端。

IBM TXSeries for Multiplatforms

IBM TXSeries for Multiplatforms 是一个适宜混合言语运用程序的分布式 CICS 在线业务处理器。它广泛用于在分布式处理方案和企业体系之间集成数据和运用程序。它还可用于布置运用 COBOL、C / C++、PL/I 和 Java 编程言语编写的 IBM CICS 运用程序。TXSeries 还支撑跟着业务需求的增加而扩展到大型机上的 CICS Transaction Server 上。

TXSeries for Multiplatforms 软件操控业务体系中的业务的处理,甚至在业务在不同核算机上一起作业并拜访相同数据时也能完成此操作。用户运用程序无需履职业务处理所需的专门的使命调度、操控、数据路由和确定。业务处理服务使得运用程序能够集中精力处理业务逻辑,而不是该逻辑的完成进程。这些服务由 TXSeries CICS 区域完成,它们为您和您的团队供给了业务处理体系的独自视图,而没有献身数据完整性和和针对许多并发用户的最优功用。

本文中运用的软件环境概述

表 1 显现了本文中运用的软件栈,该软件栈用于演示怎么长途调试布置在 TXSeries 区域中的混合言语运用程序(根据 C 和 IBM COBOL)。

表 1. 用于演示的软件栈

软件 渠道 版别
TXSeries for Multiplatforms AIX 7.1.0.4
IBM COBOL AIX 4.1
XLC/C++ AIX 11.1
Rational Developer for AIX and Linux 软件 Windows 9.0
IBM Debugger Engine(随 Rational Developer for AIX and Linux 软件或 IBM 编译器产品供给。) AIX 12.1.0.3

一个典型的长途调试环境,运用 Rational Developer for AIX and Linux 软件调试布置在 AIX 上的 TXSeries 区域之上的混合言语运用程序,如图 1 所示。

Rational Developer for AIX and Linux 软件根据一种客户端-模型。该调试引擎可充任客户端,Rational Developer for AIX and Linux 软件的用户界面可充任。这种类型的客户端-模型能够灵敏地在本地 Windows 或 LInux 桌面机器上显现用户界面,即便您调试的程序坐落长途 AIX 机器上。

图 1. 一起运用了本地和长途机器的客户端-配备

点击这儿给我发音讯

预备要调试的 TXSeries CICS 区域

依照以下进程,运用 Rational Developer for AIX and Linux 调试 TXSeries CICS 区域:

  1. 宣布以下指令来启用一个 TXSeries 区域,以便答应运转要调试的程序:
    # cicsupdate -r region_name -c rd AllowDebugging=yes
  2. 重置检查点办理接口 (CPMI) 业务的资源级安全设置,或许调试 CICS 程序时需求运转的其他业务的安全设置:
    # cicsupdate -c td -r region_name CPMI Permanent=no
    # cicsupdate –c td -r region_name CPMI RSLCheck=none
    # cicsupdate -c td -r region_name CPMI Permanent=yes
  3. 宣布以下指令来设置 CICS 区域的环境文件中的途径。<source_directory_path> 指肯定目录途径,其间可找到在调试时需求的一切程序源文件。
     DER_DBG_PATH="<source_directory_path>"
  4. 宣布以下指令来设置调试库的途径。<library_path_idebug> 指 IBM IDEBUG 库地点的肯定目录途径。这些文件一般坐落 /usr/idebug/engine/lib 目录下。
    CICS_IDEBUG_LIBPATH="<library_ path_idebug>"

补白:
在上述指令中,将 region_name 替换为适宜的 CICS 区域称号。各个区域需求冷发动 (StartType=cold) 来反映上述更改。

预备调试 CICS 运用程序的环境

本文运用了 IBM Rational Developer for AIX and Linux Version 9.0,如图 2 所示。

补白:
虽然本文运用的是 IBM Rational Developer for AIX and Linux 客户端,但该进程也相同适用于其他客户端,比方 IBM® Rational® Developer for System z 和 IBM Rational Developer for the Enterprise 客户端。

图 2. Rational Developer for AIX and Linux 软件版别

运用IBM Rational Developer for AIX and Linux软件调试布置CICS运用程序

要发动 IBM Rational Developer for AIX and Linux,请转到 Start Menu > Programs,挑选 IBM Software Delivery Platform,然后挑选 IBM Rational Developer for AIX and Linux。发动 Rational Developer for AIX and Linux 软件后,挑选一个作业区,体系会显现 IBM Rational Developer for AIX and Linux 视图。然后从 Window > Open Perspective 中挑选 Debug Perspective,Debug 窗口将被激活,如图 3 所示。

图 3. Rational Developer for AIX and Linux 的调试透视图

运用IBM Rational Developer for AIX and Linux软件调试布置CICS运用程序

在图 3 中,调试按钮具有一个赤色圆圈。默许情况下,调试器将监听端口 8001。如图 4 所示,单击调试按钮更改您期望 IBM Rational Developer for AIX and Linux 调试器监听的端口。

图 4. 运用调试按钮设置端口

运用IBM Rational Developer for AIX and Linux软件调试布置CICS运用程序

要更改该端口,可单击调试按钮周围的下拉箭头,然后单击调试按钮,如图 4 所示。该按钮将变为绿色运用IBM Rational Developer for AIX and Linux软件调试布置CICS运用程序,这标明 IBM Rational Developer for AIX and Linux 现在正在刚设置的端口上监听调试恳求。

预备要调试的混合言语 CICS 运用程序

代码清单中运用了一个示例 COBOL 程序 (COBOLPRG.ccp),它运用 EXEC CICS LINK 来调用一个 C 程序 (CPROGRAM.ccs)。数据是运用LINK API 的 COMMAREA 东西传递给 C 言语的。

清单 1. 示例 CICS/COBOL 程序代码段 (COBOLPRG.ccp)

IDENTIFICATION DIVISION.
PROGRAM-ID.   COBOLPRG.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.

01 TEXT-OUT.
   05  MSG PIC X(24)  VALUE 'HELLO TXSERIES PRODUCT'.
   05  TERMCHAR PIC X.
01 OUT-MSG            PIC X(80)  VALUE SPACES.
01 W-RESP             PIC S9(8)  BINARY.
01 W-RESP2            PIC S9(8)  BINARY.

LINKAGE SECTION.

PROCEDURE DIVISION.


    EXEC CICS LINK PROGRAM('CPROGRAM')
                   COMMAREA(TEXT-OUT)
                   LENGTH(LENGTH OF TEXT-OUT)
                   RESP(W-RESP)
                   RESP2(W-RESP2)
    END-EXEC.

    IF W-RESP = DFHRESP(NORMAL)

    STRING 'MODIFIED MESSAGE FROM C PROGRAM :'
           DELIMITED BY SIZE
           TEXT-OUT DELIMITED BY SIZE
           INTO OUT-MSG
    END-STRING

    EXEC CICS WRITE OPERATOR TEXT(OUT-MSG)
              TEXTLENGTH(LENGTH OF OUT-MSG)
    END-EXEC

    END-IF.

    EXEC CICS RETURN
    END-EXEC.

清单 2. 示例 CICS/C 程序代码段 (CPROGRAM.ccs)

#include <cicstype.h>
#include <stdio.h>
#include <memory.h>

DFHEIBLK  *eibptr;

int main(void)
{
     cics_char_t* commarea;
     cics_char_t outmsg[128];
     cics_ushort_t msglen;
     cics_ushort_t rcode;


     EXEC CICS ADDRESS EIB(eibptr);

     EXEC CICS ADDRESS COMMAREA(commarea);

     memset(outmsg,'\0',sizeof(outmsg));

     commarea[eibptr->eibcalen-1]='\0';

     if(eibptr->eibcalen == 0){
          sprintf(outmsg,"INPUT MESSAGE FOR C PROGRAM IS NULL\n");
          msglen=strlen(outmsg);
          EXEC CICS WRITE OPERATOR
                          TEXT(outmsg)
                          TEXTLENGTH(msglen)
                          RESP(rcode);
     }else{
          sprintf(outmsg,"INPUT MESSAGE FOR C PROGRAM IS :%s\n",commarea);
          msglen=eibptr->eibcalen + strlen(outmsg);
          EXEC CICS WRITE OPERATOR
                          TEXT(outmsg)
                          TEXTLENGTH(msglen)
                          RESP(rcode);
          memcpy(commarea,"TRIED",5);
          sprintf(outmsg,"MODIFIED MESSAGE IN C PROGRAM IS :%s\n",commarea);
          EXEC CICS WRITE OPERATOR
                          TEXT(outmsg)
                          TEXTLENGTH(msglen)
                          RESP(rcode);
     }
     EXEC CICS RETURN;
}

编译程序

根据 CICS 的混合言语运用程序是运用 TXSeries 所供给的 cicstcl 实用程序来编译的。该实用程序对 CICS 句子进行预处理(转化),然后调用适宜的言语编译器来生成(编译-链接-修正)负载模块。程序有必要运用 -a 来标志编译,以支撑运用 IBM Rational Developer for AIX and Linux 调试它们。

编译进程如下:

  • 要编译名为 COBOLPRG.ccp 的 IBM COBOL 程序,可宣布以下指令:
    	# cicstcl -alIBMCOB COBOLPRG.ccp
  • 要编译名为 CPROGRAM.ccs 的 C 程序,可宣布以下指令:
    	# cicstcl -alC CPROGRAM.ccs

将程序资源增加到 TXSeries 区域中

要将程序布置在 TXSeries 区域中,需求按以下办法向该区域界说业务称号和程序称号:

  • 要增加业务 DPRG(它运用程序 COBOLPRG),可宣布以下指令:
    	# cicsadd -c td -r region_name DPRG ProgName="COBOLPRG"
  • 要增加 IBM COBOL 程序 COBOLPRG 资源条目,可宣布以下指令:
    	# cicsadd -c pd -r region_name COBOLPRG PathName="COBOLPRG.ibmcob"
  • 要增加 C 程序 CPROGRAM 资源条目,可宣布以下指令:
    	# cicsadd -c pd -r region_name CPROGRAM PathName="CPROGRAM"

宣布这些指令后,运用程序会布置到 TXSeries 区域,并且已预备好运用 Rational Developer for AIX and Linux 软件进行调试。

补白:
任何故 “C” 最初的业务都无法在 TXSeries 上进行调试。

启用 CICS 运用程序在 TXSeries 区域中进行的调试

要启用和禁用 CICS 业务的调试,需求经过 CICS CDCN 业务办理它们。资源可所以一个终端、业务、程序或 SYSID。

出于演示之意图,咱们启用了 COBOLPRG 和 CPROGRAM 的调试。以下进程展现了怎么为资源启用运用了 CDCN 业务的调试:

从一个根据 3270 的终端运转业务 CDCN。选用以下格局供给 DISPLAY 参数,运用 Rational Developer for AIX and Linux 监听的 IP 地址和端口:

IP 地址:端口

如图 5 所示,假如 Rational Developer for AIX and Linux 软件监听的桌面机器的 IP 地址为 1.1.1.1,监听端口为 1234,那么 DISPLAY 参数为:

1.1.1.1:1234

图 5. CDCN 屏幕显现了 COBOLPRG 的 DISPLAY 参数


如图 5 所示,增加 COBOLPRG 作为 PROGRAM,然后按下 Enter。终端上显现了以下音讯。

ERZ104056I: Successfully configured debugging on for program 
COBOLPRG ERZ104072I: The display to be used for the debugging information is
 '1.1.1.1:1234'

可重复相同的进程来为 CPROGRAM 启用调试。

一切资源、TXSeries 区域和 Rational Developer for AIX and Linux 软件都已预备好开端调试。

开端调试

要开端调试,可发动业务 DPRG,它会调用 COBOL 程序 (COBOLPRG)。业务 DPRG 可从一个 3270 终端发动。业务 (DPRG) 运转后,在 TXSeries 中运转的程序会主动附加到 Rational Developer for AIX and Linux 用户界面,如图 6 所示。

图 6. 附加程序后的初始调试视图

运用IBM Rational Developer for AIX and Linux软件调试布置CICS运用程序

如图 6 所示,该业务中止在 PROCEDURE DIVISION 中的 COBOL 模块 COBOLPRG 中。您能够在程序上设置断点。运用功用键 F5 单步履行每一行来进一步调试。

图 7 显现了从 COBOL 程序传来的 COMMAREA 内容 HELLO TXSERIES PRODUCT。鼠标指针指向任何变量时,就会显现该变量的内容。变量内容也可从 Variables 窗口中看到。在 Rational Developer for AIX and Linux 中,您能够在调试程序的一起更改程序中运用的不同变量的值。

图 7. COBOLPRG 内的初始 COMMAREA 视图

运用IBM Rational Developer for AIX and Linux软件调试布置CICS运用程序

按功用键 F5(康复运转)转到 C 模块,该模块会从 COBOL 程序调用。图 8 描绘了 C 程序中的 COMMAREA 文本,它是从 COBOL 模块取得的。

图 8. C 程序 CPROGRAM 中的 COMMAREA 视图

运用IBM Rational Developer for AIX and Linux软件调试布置CICS运用程序

假如想要持续调试此程序,可运用 F5(康复运转)键。其他选项可运用 Rational Developer for AIX and Linux 软件中界说的调试指令,比方 F7(单步履行)键和 F8(单步跳出)键。然后修正此程序中的 COMMAREA 文本,图 9 显现了怎么修正它。

图 9. CPROGRAM 中已修正的 COMMAREA

运用IBM Rational Developer for AIX and Linux软件调试布置CICS运用程序

您可持续调试。此时,操控权回来到了父 COBOL 模块那里,父模块也可在模块部分中看到。修正后的 COMMAREA 内容如图 10 所示。

图 10. COBOLPRG 中已修正的 COMMAREA 的调试视图

运用IBM Rational Developer for AIX and Linux软件调试布置CICS运用程序

此进程演示了怎么运用 IBM Rational Developer for AIX and Linux 调试一个混合言语 TXSeries 运用程序。您也能够运用相似进程调试 IBM PLI、C++ 或 Java 运用程序。

扫除常见问题

运用 Rational Developer for AIX and Linux 软件调试 CICS 运用程序时看到的一些常见问题如下所示:

  • 在 Rational Developer for AIX and Linux 软件中,调试监听端口未启用或在过错的端口上监听。在本例中,TXSeries 的 console.msg 或console.<nnnnnn> 日志标明,与 IDEBUG Rational Developer for AIX and Linux 软件客户端衔接时呈现了一个问题,如下所示: 
    SERVICE_MESSAGE 09/23/13 13:44:14.709092505 
    NEWREG 15532258/000     : Unable to attach to debugger. error: -3
    SERVICE_MESSAGE 09/23/13 13:44:16.775111648 NEWREG 15532258/000     : 
    Unable to attach to debugger. error: -3
  • 假如 AllowDebugging 未设置为 yes,那么在 CDCN 业务运转时会显现图 11 中所示的正告音讯。

图 11. 未启用调试时的正告音讯

运用IBM Rational Developer for AIX and Linux软件调试布置CICS运用程序
  • CICS 程序未运用 –a 标志编译。调试器显现了汇编指令,参见图 12。

图 12. Rational Developer for AIX and Linux 软件中显现的汇编指令

运用IBM Rational Developer for AIX and Linux软件调试布置CICS运用程序
  • 假如 CICS_IDEBUG_LIBPATH 环境变量未正确设置,或许具有过错的途径引证,CDCN 会抛出一条过错音讯,如图 13 所示。

图 13. 环境未正确设置

运用IBM Rational Developer for AIX and Linux软件调试布置CICS运用程序

完毕语

本教程按部就班地展现了怎么从 IBM Rational Developer for AIX and Linux 配备和调试布置在 TXSeries 上的混合言语 CICS 运用程序。

咱们感兴趣的内容
小同伴独爱的新闻
小同伴还重视了以下信息
小同伴重视的焦点

小同伴都在重视的抢手词

新服 缤纷活动 帆海世纪 芈月传 暗黑道具 萌乐网 苹果发布会 最新谍照 三国令 剑雨江湖 怎样修炼战骑 页游 怎样修炼同伴 木甲国际 仙侠道2 推黑科技 页游形式 武圣试炼场 街机玩法 蓝月传奇 个人BOSS玩法 哥们网 九阴绝学 仗剑出鞘 全新形式 范伟打天下 全新元神玩法 七大神兵简介 新手攻略 跑腿使命 门派五行 城战礼包 页游界 泥石流 傅园慧 经典网页游戏 耐玩 盘点 玉石攻略 提高人物 大黑 实装特点 神兵攻略 闻名莽荒 莽荒纪 手持神兵 土豪梦 万世 开学清单 财富赚不断 天书国际 大黑游戏 资源战场 ppwan 天问 激战 全国大战 雄霸一方 新增宠物技术 肯定小能手 花千骨 三尾章鱼 风色轨道 双枪手 弑之神 缤纷好礼 惊喜六重连 帮会 中秋福利 克己月饼 九阴真经 玩家 五周年留念 留念银币 名动三界 新服资料片 画江山 勇战妖魔 邪恶势力 上古降魔 老司机玩法 坐骑揭秘 黑科技 竞技场攻略 铁血皇城 披风玩法 书剑恩仇录 配备强化攻略 户外BOSS玩法 全网曝光 赤壁传说 半回合制国 ACT 奇珍商城 热血战歌 传奇瑰宝抽奖 打开办法 门徒 门徒获取玩法 三大萌宠简介