记录跟踪日志【r.r2d】

来源:互联网 发布:杭州市物联网数据 编辑:程序博客网 时间:2024/06/04 18:02

TIPTOP ERP系统 GP 3.0

记录跟踪日志[r.r2d]
  Debug命令
<1>r.d2+
此命令用得比较多,不详细介绍,可以参考技术手册
<2>r.r2d
使用方法:r.r2d cooc200
执行效果同r.r2 cooc200一样,同样可以开启此程序。
不同之处就是在相应目录下会产生一个cooc200.log的文件,如下图所示:

 

文件说明:在.log的文件里面会出现程序运行中所有执行过的SQL的执行状况,如下图所示:(截取的log文件中的一段说说明)

 

 以上生成的log档的内容是可以通过FGLSQLDEBUG这个系统变量来控制的,关于FGLSQLDEBUG的解释如下所示:
程式开发完成后就是测试,测试程式有许多方法,包含使用Debug Tool,或自己写display來显示,这里说明的是使用FGLSQLDEBUG环境来作Debug。
当程式是出错在某个深层的function或library時,若用debug tool要追入是一件麻煩的事,若又不确认发生位置时,
可以考虑使用FGLSQLDEBUG环境变量。
执行程式前export FGLSQLDEBUG=n 再执行程式就可以了﹝特质TELNET连线方式﹞,执行的过程会显示在背景画面上,参数n 值如下:
n=1:此时会将翻译运行过的SQL statment﹝含程式所在module及行数﹞、SQL code,
    传入传出参数按照执行的顺序,一個一個列出
n=2:上項外再增加ODI driver信息,以xxx.c(2)表示﹝xxx表资料库代码,如ORA/MSV/DB2…﹞
n=3:上項外再增加db connect driver信息,以xxx.c(3)表示
n=4 - 10,上項外再增加ODI driver WARING信息,以xxx.c(4)表示
TIPTOP GP利用FGLSQLDEBUG环境变量做r.r2d工具,
主要即是設定成FGLSQLDEBUG=3并将信息就地导成log档,作为判定问题之参考依据。

 

下面我们再来看一下 r.r2d  的脚本,如下代码:

####### Run application in SQL debug mode######umask 000   ##设置限制新文件权限的掩码# Delete the previous log file(if it has)if [ -s ${1}.log ] ; then   rm -f ${1}.logfiFGLSQLDEBUG=3; export FGLSQLDEBUG   #设置或显示环境变量r.r2 $1 2>${1}.logecho "\033[7m${1}.log\033[m has been generated"


这里可以看到  FGLSQLDEBUG  的值为3。