调试声明式

仅在最外层的程序中允许调试部分; 它们在嵌套程序中无效。 调试部分从不由嵌套程序中包含的过程触发。

在以下位置不允许调试部分:

  • 使用递归属性定义的程序

SOURCE-COMPUTER 段的 WITH DEBUG MODE 子句会激活已编译到对象代码中的所有调试部分和行。 更多详情,请参阅源语言调试

当通过不指定 WITH DEBUG MODE 子句来抑制调试方式时,将禁止所有 USE FOR 调试声明式过程和所有调试行。

调试部分的自动执行不是由调试部分中出现的语句引起的。

格式 2: 用于调试声明式的 USE 语句

读取语法图跳过可视语法图USEFORDEBUGGINGONprocedure-name-1ALL PROCEDURES
用于调试
所有调试语句必须一起写在紧跟在声明性头之后的部分中。

除 USE FOR 调试语句本身外,在调试过程中,不得引用任何非声明式过程。

procedure-name-1
不得在调试会话中定义。

表 1 针对每个有效选项显示执行 USE FOR 调试过程时执行期间的点。

任何给定过程名称只能出现在一个 USE FOR 调试语句中,并且只能出现在该语句中一次。 所有过程都必须出现在最外层的程序中。

所有过程
不得在任何 USE FOR 调试语句中指定 procedure-name-1 。 只能在程序中指定一次 ALL 过程短语。 只有最外层程序中包含的过程才会触发调试部分的执行。

表 1. 调试声明的执行
用于调试操作数 执行以下操作后,将立即执行 USE FOR 调试过程
procedure-name-1 在指定过程的每次执行之前

在执行引用指定过程的 ALTER 语句之后

所有程序 在最外层程序中每次执行每个非调试过程之前

在最外层程序中执行每个 ALTER 语句之后 (声明式过程中的 ALTER 语句除外)