可以使用流程控制符来在调试器命令程序中创建条件执行和循环语句。
除了下面一些例外之外,流程控制符和C/C++中的控制符行为都是相似的:
调试器命令程序中支持以下流程控制符。关于每个标记的语法的详细信息,查看他们各自的参考信息。
- .if
标记类似C中的if关键字。
- .else
标记类似C中的else关键字。
- .elsif
标记类似C中的else if关键字。
- .foreach
标记解析调试器命令的输出、字符串或文本文件。然后将它找到的每条数据作为指定的调试器命令的输入。
- .for
.for标记类似C中的for关键字,但是必须用分号分割多个增量命令,而不是逗号。
- .while
标记类似C中的while关键字。
- .do和C中的do
关键字类似,但是不能在条件之前使用"while" 。
- .break和C中的break关键字类似。可以在任何.for、.while或
.do循环中使用。
- .continue和C中的continue关键字类似。可以在任何.for、.while或
.do循环中使用。
- .catch标记避免程序由于出现错误而终止。.catch标记后跟用大括号括起来的一条或多条命令。如果某条命令产生错误,则显示错误信息并跳过在大括号中剩下的命令,接着继续执行大括号之后的第一条命令。
- .leave标记用于退出一个.catch
块。
- .printf和C语言中的printf类似。
- .block标记没有操作。使用该标记来创建一个块,因为不能仅使用大括号创建块。在前大括号之前必须加上流程控制符。
调试器命令程序中,!for_each_module, !for_each_frame,
和!for_each_local
扩展命令也非常有用。
Build machine: CAPEBUILD