Rational Developer for System z

アセンブラー・プログラムのビルドとシンボリック・アセンブラー・デバッグによるデバッグ

アセンブラー・プログラムをビルド後、JCL プロシージャーのユーザー指定変数の値を渡すことにより、シンボリック・アセンブラー・デバッグを使用してそのプログラムをデバッグする必要が生じることがあります。
「Assemble procedure ELAXFASM」を「ASMDEBUG」という別のプロシージャーにコピーします。「ASMDEBUG」を編集して、「Assemble」ステップで作成された「ADATA」ファイルからデバッグ情報を抽出する、「XTRACT」というステップを追加します。次の例は ASMDEBUG プロシージャーを示しています。
//*************************************************************
//*                                                           *
//* ASMDEBUG -- SAMPLE PROCEDURE FOR ASSEMBLING HIGH LEVEL    *
//*             ASSEMBLER  PROGRAMS AND DO THE XTRACT STEP    *
//*             FOR DOING THE SYMBOLIC ASSEMBLER DEBUG.       *
//*                                                           *
//* Licensed Materials - Property of IBM                      *
//* 5724-B67                                                  *
//* (C) Copyright IBM Corp. 2003                              *
//*                                                           *
//* WebSphere Studio Enterprise Developer Options for z/OS    *
//*                                                           *
//*************************************************************
//*                                                           *
//* CUSTOMIZE THIS PROCEDURE AS PER YOUR SITE REQUIREMENTS    *
//*                                                           *
//* THIS PROCEDURE WILL BE USED BY WSED TO ASSEMBLE HIGH      *
//* LEVEL ASSEMBLER PROGRAMS.                                 *
//*                                                           *
//* CUSTOMIZATION TASKS:                                      *
//*                                                           *
//*    1) MODIFY THE LNGPRFX VALUE AS PER YOUR SITE           *
//*       REQUIREMENTS. DEFAULT VALUE IS 'SYS1'               *
//*                                                           *
//* ADDITIONAL COMMENTS:                                      *
//*                                                           *
//*       SYSIN, SYSLIN AND SYSLIB DD CARDS WILL BE PROVIDED  *
//*       BY THE GENERATION CODE.                             *
//*                                                           *
//*************************************************************
//ASMDEBUG PROC  LNGPRFX='SYS1'
//ASM EXEC PGM=ASMA90,REGION=2048K,
//             PARM=('TEST',
//             'ADATA',
//             'LIST')
//STEPLIB DD DSN=&LNGPRFX..LINKLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSLIN   DD  DUMMY
//SYSUT1   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
//SYSUT2   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
//SYSUT3   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
//SYSUT4   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
//SYSUT5   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
//SYSUT6   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
//SYSUT7   DD  UNIT=SYSALLDA,SPACE=(CYL,(1,1))
//*
//SYSTERM  DD SYSOUT=*
//SYSADATA DD DSNAME=&ADATADS(&MEM),DISP=SHR
//XTRACT  EXEC PGM=EQALANGX,REGION=32M,
//   PARM='&MEM (ASM ERROR OFT IDILANGX FAULT'
//SYSADATA DD DSNAME=&ADATADS(&MEM),DISP=SHR
//IDILANGX DD DSNAME=&LANGXDX(&MEM),DISP=SHR
//*
リモート・システムを定義してそこに接続していること、MVS™ サブプロジェクトを作成してあること、およびプロパティー・グループをそのリモート・システムに関連付けていることを確認してください。
  1. 関連付けられたプロパティー・グループを編集します。
  2. 「アセンブラー設定」ページで、「プロシージャーおよびステップ」を選択します。
  3. 「ELAXFASM」を展開し、「ASM」ステップを選択して、以下のアセンブラー・オプションを設定します。
    アセンブラー・オプション
    プロシージャー名 ASMDEBUG
    アセンブル・プロシージャー・ステップ名 ASM
    オブジェクト・デック・データ・セット HLQ.ASMOBJS.OBJ
    マクロ・ライブラリー SYS1.MACLIB CEEV2R1M0.SCEEMAC
  4. 「JCL 置換」を選択し、「ユーザー変数の追加」ボタンをクリックして、以下のユーザー変数を設定します。
    変数名 変数値
    LANGXDS HLQ.EQALANGX
    ADATADS HLQ.ASM.ADATA
  5. 「グローバル変数の挿入」ボタンをクリックして、MEM 変数を追加します。
  6. プロパティー・グループを保存して終了します。
  7. サブプロジェクトの「プロパティー」ウィンドウをオープンし、 「アプリケーションのエントリー・ポイント」をクリックします。
  8. ラジオ・ボタンの「高水準アセンブラー」を選択します。「CEESTART」を入力します。プロパティーの変更を保存します。
  9. ソース TESTDBG を MVS サブプロジェクトに追加します。(ソースはこのウィンドウの最後に表示されます。)
  10. プロジェクトをビルドし、指定したロード・データ・セットに TESTDBG.exe を生成します。(デフォルトのロード・モジュール・ロケーションを表示するには、「リンク・オプション」ページを表示するためのプロパティー・グループをオープンし、「リンク」 ステップを選択します。)
  11. TESTDBG.exe を右クリックし、「アプリケーションをデバッグ」をクリックします。 デバッガーが開始されます。
  12. デバッグ・コンソールをオープンし、LDD TESTDBG をコマンド行に入力します。
  13. デバッガーでアセンブラーのコードをステップスルーします。

ビルド処理中に、ビルドするための JCL が生成されると、プロパティー・グループの「JCL 置換」ページで指定した変数の SET ステートメントがジョブの最初に生成されます。

ビルドとデバッグ用のサンプル・アセンブラー・プログラム

アセンブラー・プログラムを LE-Enabled します。これはサンプル・ソースです。
TESTDBG  CEEENTRY PPA=MAINPPA,AUTO=WORKSIZE                             
         USING    WORKAREA,R13                                          
*                                                                       
         LA   R02,STRT_MSG                                              
         LA   R03,DEST                                                  
         LA   R04,FBCODE                                                
         STM  R02,R04,PLIST                                             
         LA   R01,PLIST                                                 
         L    R15,MOUT                                                  
         BALR R14,R15                                                   
*                                                                       
         PACK PCKA,ZNA                                                  
         PACK PCKB,ZNB                                                  
         PACK PCKC,ZNC                                                  
         ZAP  PCKSUM,PCKA                                               
         AP   PCKSUM,PCKB                                               
         AP   PCKSUM,PCKC                                               
         MVC  OUTSUM,SUMMSK                                             
         ED   OUTSUM,PCKSUM                                             
         MVC  SUMMSG+1(8),OUTSUM                                        
         MVC  LINE_ST,SUMMSG                                            
*                                                                       
         LA   R02,LINE_MSG                                              
         LA   R03,DEST                                                  
         LA   R04,FBCODE                                                
         STM  R02,R04,PLIST                                             
         LA   R01,PLIST                                                 
         L    R15,MOUT                                                  
         BALR R14,R15                                                   
*                                                                       
         LA   R02,DONE_MSG                                              
         LA   R03,DEST                                                  
         LA   R04,FBCODE                                                
         STM  R02,R04,PLIST                                             
         LA   R01,PLIST                                                 
         L    R15,MOUT                                                  
         BALR R14,R15                                                   
*                                                                       
         CEETERM  RC=0                                                  
* ==============================================================        
*  Constants and Variables                                              
* ==============================================================        
ZLEN     EQU 5                                                          
PLEN     EQU ZLEN/2+1                                                   
*                                                                       
SUMMSG   DC  C'(xxxxxxxx) -- The sum    '                               
SUMMSK   DC  X'4020202020202120'                                        
ZNA      DC  ZL5'100'                                                   
ZNB      DC  ZL5'150'                                                   
ZNC      DC  ZL5'50'                                                    
*                                                                       
PCKA     DS  PL(PLEN)                                                   
PCKB     DS  PL(PLEN)                                                   
PCKC     DS  PL(PLEN)                                                   
PCKSUM   DS  PL(PLEN+1)                                                 
OUTSUM   DS  CL(L'SUMMSK)                                               
*                                                                       
MOUT     DC     V(CEEMOUT)        The CEL Message service               
*                                                                       
LINE_MSG DS     0F                                                      
         DC     AL2(LINE_END-LINE_ST)                                   
LINE_ST  DS     CL25                                                    
LINE_END EQU    *                                                       
*                                                                       
STRT_MSG DS     0F                                                      
         DC     AL2(STRT_END-STRT_ST)                                   
STRT_ST  DC     C'Starting the program.'                                
STRT_END EQU    *                                                       
*                                                                       
DONE_MSG DS     0F                                                      
         DC     AL2(DONE_END-DONE_ST)                                   
DONE_ST  DC     C'Terminating the program.'                             
DONE_END EQU    *                                                       
*                                                                       
DEST     DC     F'2'              The destination is the MSGFILE        
*                                                                       
MAINPPA  CEEPPA                                                         
* ===================================================================   
*  The Workarea and DSA                                                 
* ===================================================================   
WORKAREA DSECT                                                          
         ORG    *+CEEDSASZ                                              
PLIST    DS     0D                                                      
PARM1    DS     A                                                       
PARM2    DS     A                                                       
PARM3    DS     A                                                       
PARM4    DS     A                                                       
PARM5    DS     A                                                       
*                                                                       
FBCODE   DS     3F                                                      
*                                                                       
         DS     0D                                                      
WORKSIZE EQU    *-WORKAREA                                              
         CEEDSA                   Mapping of the Dynamic Save Area      
         CEECAA                   Mapping of the Common Anchor Area     
*                                                                       
R00      EQU   0                                                        
R01      EQU   1                                                        
R02      EQU   2                                                        
R03      EQU   3                                                        
R04      EQU   4                                                        
R05      EQU   5                                                        
R06      EQU   6                                                        
R07      EQU   7                                                        
R08      EQU   8                                                        
R09      EQU   9                                                        
R10      EQU   10                                                       
R11      EQU   11                                                       
R12      EQU   12                                                       
R13      EQU   13                                                       
R14      EQU   14                                                       
R15      EQU   15                                                       
         END   TESTDBG            

ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)