Chinaunix

标题: 用什么命令调试CMD程序? [打印本页]

作者: yokel    时间: 2003-12-12 12:55
标题: 用什么命令调试CMD程序?
请教,
用什么命令调试CMD程序
我用STRISDB,和STRDBG,好象不行.
谢谢!
作者: 子樵    时间: 2003-12-12 12:58
标题: 用什么命令调试CMD程序?
CMD实际上可以理解为CALL PGM(XXX) PARM(XXX)的屏幕格式.
对CMD的调试实际上是去调试对应的PGM.
作者: aeiou    时间: 2003-12-12 12:59
标题: 用什么命令调试CMD程序?
调试CMD调用的CL就好啦。
作者: yokel    时间: 2003-12-12 13:20
标题: 用什么命令调试CMD程序?
我想创建了一个CMD程序,可以从命令行敲入命令---CD,会提示输入参数A,参数B.
最后程序进行一些操作.
我建了个程序里面大致内容为:
cmd prompt('clear members of one file')
parm kwd(a) type(*name) ....
parm kwd(b) type(*name)....
我的理解,上面这个程序会从屏幕取得参数a,b 并将参数传到另一个程序中进行操作.
我又建了一个程序:
pgm parm(&a,&b)
   dcl a type(*char) len(10)
   dcl b type (*char) len(10)
   ...

endpgm

编译通过了,我想单步调试这两个程,请问怎么做?
作者: qingzhou    时间: 2003-12-12 13:29
标题: 用什么命令调试CMD程序?
试试STRDBG!
作者: qingzhou    时间: 2003-12-12 13:40
标题: 用什么命令调试CMD程序?
你可能会问怎么用DEBUG?下面给出步骤:

Debug Procedure
============================================
★For OPM programs,compile with OPTION(*SRCDBG)
★STRDBG to enter debug session
★View source
★Add breakpoints
★CALL program
★Monitor the flow of the program
★Add/Clear breakpoints
★Display/Change variables
★Display attributes of variables
★ENDDBG to close debug session
★Change program source
★Recompile program
★Test program

作者: 子樵    时间: 2003-12-12 14:22
标题: 用什么命令调试CMD程序?
CMD 的定义不是程序定义只是个源,你在CRTCMD中会让你指定调用的程序.你DEBUG的只是你的程序就可以了.CMD是不用DEBUG的.
作者: qingzhou    时间: 2003-12-12 17:21
标题: 用什么命令调试CMD程序?
哈,子樵兄,用DEBUG设置程序断点跟踪调试好CRTCMD调用的PGM,不就是等于调试好了CRTCMD吗?


CMD实际上可以理解为CALL PGM(XXX) PARM(XXX)的屏幕格式.
对CMD的调试实际上是去调试对应的PGM.

作者: xuguopeng    时间: 2003-12-12 17:30
标题: 用什么命令调试CMD程序?
其实你俩说的都是一个意思拉,CMD只是调用相应的CL程序,只要CL程序没问题,那CMD自然也就没问题了
作者: yokel    时间: 2003-12-12 17:33
标题: 用什么命令调试CMD程序?
谢谢各位,我明白了
作者: qingzhou    时间: 2003-12-12 17:52
标题: 用什么命令调试CMD程序?
补充一下:
CRTCMD命令的实质是OS/400允许具备权限的用户进行自定义CL.

格式:

CALL PGMA PARM(___ ___) or   USRCMD KWD1()   KWD2()

PGMA
PGM     PARM(___  ___)
DCL
DCL
.....

●implify entering parameters
     default values
     prompting
     validity checking
     Help

●Functions like an IBM command.

作者: andrewleading_h    时间: 2003-12-31 15:19
提示: 作者被禁止或删除 内容自动屏蔽
作者: yoyoage    时间: 2003-12-31 15:44
标题: 用什么命令调试CMD程序?
你用DSPCMD命令可以看
到:
                                                                     
  1.                                                                              
  2. Command  . . . . . . . :   TESTCMD         
  3. Library  . . . . . . . :   QGPL
  4.                                                                              
  5. Program to process command . . . . . . :   TESTPGM  Library  . . . . . . . . . . . . . . :     QGPL                       
  6. State used to call program . . . . . :     *USER                          
复制代码

可以看到CMD实际上是调用程序的。
所以要自己写一个CL命令,步骤也很简单:
1。准备好要处理命令的程序。
2。建立TYPE=CMD的SRC.
3。CRTCMD
下面是一个CMDSRC的例子:
  1. CMD        PROMPT('TESTCMD')                                
  2. PARM       KWD(OBJ) TYPE(*NAME) LEN(10) MIN(1) +         
  3.               PROMPT('Object Name')                        
  4. PARM       KWD(TYP) TYPE(*CHAR) LEN(10) RSTD(*YES) +      
  5.               VALUES(*PGM *FILE *DTAARA *SRVPGM *SQLPKG +  
  6.               *MODULE *QRYDFN *QMQRY *MSGF *OUTQ *JRN) +   
  7.               MIN(1) PROMPT('Object Type')                 
  8. PARM       KWD(DBLIB) TYPE(*NAME) LEN(10) DFT(*LIBL) +   
  9.               SPCVAL((*LIBL *LIBL)) MIN(0) +               
  10.               PROMPT('TESTCMD Database Library')            
复制代码


使用TESTCMD命令,按F4出现下面的画面
  1.                             TESTCMD (TESTCMD)                                 
  2.                                                                               
  3. Type choices, press Enter.                                                   
  4.                                                                               
  5. Object Name  . . . . . . . . . .                 Name                        
  6. Object Type  . . . . . . . . . .                 *PGM, *FILE, *DTAARA...      
  7. TESTCMD Database Library . . . . .   *LIBL         Name, *LIBL                  
  8.                                                                               
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2