调试声明式
仅在最外层的程序中允许调试部分; 它们在嵌套程序中无效。 调试部分从不由嵌套程序中包含的过程触发。
在以下位置不允许调试部分:
- 使用递归属性定义的程序
SOURCE-COMPUTER 段的 WITH DEBUG MODE 子句会激活已编译到对象代码中的所有调试部分和行。 更多详情,请参阅源语言调试。
当通过不指定 WITH DEBUG MODE 子句来抑制调试方式时,将禁止所有 USE FOR 调试声明式过程和所有调试行。
调试部分的自动执行不是由调试部分中出现的语句引起的。
- 用于调试
- 所有调试语句必须一起写在紧跟在声明性头之后的部分中。
除 USE FOR 调试语句本身外,在调试过程中,不得引用任何非声明式过程。
- procedure-name-1
- 不得在调试会话中定义。
表 1 针对每个有效选项显示执行 USE FOR 调试过程时执行期间的点。
任何给定过程名称只能出现在一个 USE FOR 调试语句中,并且只能出现在该语句中一次。 所有过程都必须出现在最外层的程序中。
- 所有过程
- 不得在任何 USE FOR 调试语句中指定 procedure-name-1 。 只能在程序中指定一次 ALL 过程短语。 只有最外层程序中包含的过程才会触发调试部分的执行。
| 用于调试操作数 | 执行以下操作后,将立即执行 USE FOR 调试过程 |
|---|---|
| procedure-name-1 | 在指定过程的每次执行之前 在执行引用指定过程的 ALTER 语句之后 |
| 所有程序 | 在最外层程序中每次执行每个非调试过程之前 在最外层程序中执行每个 ALTER 语句之后 (声明式过程中的 ALTER 语句除外) |
