超级调试功能

  1. 从V1.70开始,运行平台内嵌了“超级调试器”,见下图(点击浏览大图):
    点击浏览大图
    开发平台调试功能很强大,可以展现完整的语法树,能够设置断点和单步调试,方便观察语句运行的过程,但开发平台只能运行一条线路,对于需要多条线路之间进行配合的测试就没办法了,比如应用到会议的线路间消息传递,优化数据库访问的线路间函数调用,等等。而小于V1.70的运行平台版本,则没有可视化的调试功能,如果要观察每条线路运行脚本的变量值,只好采用DispInfo()函数或写到日志文件里面,类似于命令窗口下C程序的调试,用printf把变量值打印出来。 有了“超级调试器”后,多线路的调试更方便了,更直观了。
  2. 可以通过修改配置文件BsTelRun.cfg打开或关闭调试器:
      IS_DISP_SENTE = No   // 运行时是否显示语句, 缺省为Yes; 设置为Note为只显示注释; 设成No为不显示, 可以加快运行速度
    // 本配置也是“超级调试器”控制开关,只有设置为Yes时才能使用调试器
  3. 启动运行平台后,选中需要调试的线路,通过右键菜单“Open Debug ...”或主菜单“调试/开启...”, 打开调试页面;可以打开多个调试页面,在运行中来回切换,观察各线路的运行情况。
  4. 在每个调试页面中,出现4个区域,分别是“主流程语法树”,“主流程变量列表”,“所有子函数语法树”, “当前执行的子函数变量列表”。可以在语法树中点击语句左边的方块设置或取消断点。当脚本运行到断点处时,可以检查变量的值, 也可以按F4或选择主菜单“调试/显示调用堆栈”,这时候或弹出堆栈列表窗口,显示了函数的一系列调用过程,可以查看每个中间函数的当前全部变量值。 在单步状态,可以双击主流程或子函数语法树上的任意语句,这时将显示该语句的相关变量,和他们的值。
  5. 有下列几个公共的调试按钮(或菜单命令):
    • 单步,当流程执行到断点时,点击“单步”命令,将逐条执行语句;
    • 运行,当流程执行到断点或单步状态下,点击“运行”命令,流程将继续执行直到遇到断点才会停顿下来;
    • 刷新,更新“主流程变量列表”和“当前执行的子函数变量列表”里面的所以变量值,双击列表会弹出变量查看窗口;
    • 显示调用堆栈(菜单),弹出堆栈列表窗口,显示了函数的一系列调用过程,可以查看每个中间函数的当前全部变量值,当函数调用层次很深时,便于跟踪、回溯中间过程;
    • 关闭当前页,将最前面的调试页面关闭,清除所有断点并恢复为运行状态;
    • 关闭全部页,相当于关闭了超级调试器。
    • 动态刷新 选择框,当选中时,调试器会加亮当前正在执行的语句,可以清楚观察流程走向,不过在“动态刷新”状态,不容易设置断点,所以通常设置好断点再选择“动态刷新”。
    • 模拟按键,在虚拟线路需模拟按键输入时,点击对应线路的“当前按键”栏目,输入按键即可。
  6. 运行调试器需要占用一定的资源,而且在“动态刷新”状态会使被调试的线路变慢,在正式运行时不要随便打开调试;除非必要,也不要打开过多的调试页面。
  7. 如果脚本用CodeBss.rar加密过,则该脚本可以运行,但不能被调试,运行该脚本的线路将不能打开调试页面。
  8. 运行平台要购买线路许可才能运行,请联系蓝星际公司。