主站|HOME   留言|MESG   

◇ 人啊,都不讲实话
◇ 还健在的众君子中我首选朱镕基
◇ 天底下只有三件事
◇ 07年辩证法
◇ 太经典了,不转不行淘宝上面的对话
>>> Notes类的继承和包含 真爱不累 >>>


代理调试方法
不愿留名
2003/03/11

    在notes编程中,尤其web开发中,代理是很常用的,但是,相对而言,代理的调试也很不方便。下面就我的经验,列出几种常用的方法,欢迎大家指正和补充。(这里讨论的都是lotussript代理)
      1.notes端跟踪法
      使用notes开发客户端时,对于那些在客户端运行的代理(与服务器端运行相对)可以直接跟踪代理的运行。
      方法:选中菜单中“文件-〉工具-〉调试lotusscript”后再运行代理即可。
      优点:调试直观,代理可以单步跟踪、设置断点(使用stop语句或者在调试窗口中双击需要加断点的语句)、观察该中断时刻的各种变量和对象的值等。所以使用这种调试方法可以很快地知道问题的所在。
      缺点:只适用于客户端运行的代理,而且有些web客户端运行的代理也无法调试。 一些调试技巧:
      可以把那些在服务器端运行的代理的核心代码先在客户端调试通过后,再改回服务器端运行,这样有时可以节省很多调试时间。有些web端运行的代理也可照此方法调试。
      2.输出调试信息
      对于那些在服务器端运行的代理,或在web端运行的代理,可以利用print命令来输出一些关键的信息来帮助你了解问题的所在。
      方法:在代理中怀疑有问题的地方或分支点附近加入print命令来打印一些关键信息,从而帮助了解问题的所在。
      a.对于处于非调试状态下的notes客户端而言,print的信息将显示在客户端下部的状态条中。
      b.对于处于调试状态下的notes客户端而言,print的信息将显示在客户端下部的状态条中和调试窗口的输出窗口中。
      c.对于web应用而言,print的信息将直接输出到浏览器中。(但请注意,位于表单的webqueryopen代理中的print输出都将被忽略)
      d.对于服务器端运行的代理,print的信息将保存在NOTES.LOG文件中
      附带说一句,当代理产生错误时,一般都会在domino的命令窗口中产生一个错误信息,说明错误的类型,可能的话,先看看这些信息,了解一下错误的类型,可能会比一上来就盲目地跟踪要好一些。当然,在程序编码的同时,利用on error来建立一些错误报告机制,也有助于更快地分析错误的类型与所在。
      3.代理日志
      建立一个代理日志,这恐怕是最通用的方法了,但也相对较繁琐。 方法:在代码的头部加入如下代码(xxxx为一随意的日志名,mylog为日志对象的名称,可以自定):
    dim mylog as new noteslog("xxxx")
    call mylog.openagentlog
    在代码需要调试的部分加入下面的语句
    call mylog.logaction(description$)
    description$ 是一个字符串常量或变量,内容根据调试的需要而定。这些内容将会写到代理的日志中。
      日志的察看方法:
      a.在designer中打开数据库的代理窗口。
      b.在制定的代理上面点击鼠标的右键
      c.在弹出的菜单中选择日志即可
      注意,代理一旦重新保存,代理日志就会被清空。代理每次运行,新产生的代理日志会覆盖上一次的日志。

>>> Notes类的继承和包含 真爱不累 >>>
[自由发言,不代表Mst1739观点]
Copyright © 梦境天华站
粤ICP备08035557号
2001-2025 all rights reserved · mst1739
Email:mst1739@qq.com