您的位置:首页 > 其它

记录跟踪日志【r.r2d】

2012-11-05 08:52 169 查看
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}.log
fi

FGLSQLDEBUG=3; export FGLSQLDEBUG   #设置或显示环境变量
r.r2 $1 2>${1}.log
echo "\033[7m${1}.log\033[m has been generated"


这里可以看到 FGLSQLDEBUG 的值为3。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: