#PL调试
YDC提供了PL调试功能,包括:
- 调试配置管理
- 查看调用模版
- 参数管理
- 启停调试
- 运行时会话管理
- 断点管理
- 变量管理
- 运行时信息监控
- 调试操作
# 调试配置管理
调试配置管理可以查看调用模版,管理参数信息,启停调试会话。
# 打开配置
提供两个入口打开调试配置:
- 选择数据源,选择对应的模式,在函数或存储过程列表选择一个具体的对象,单击鼠标右键,选择【代码调试】。

- 选择数据源,选择对应的模式,单击函数或存储过程对象,打开详情页面后,单击【声明】页签,单击【开始调试】按钮。

Note:
无效的函数和存储过程不支持调试功能。
YDC内部会生成一个匿名的PL来调用被调试的函数和存储过程,可在调试配置页面的编辑器中查看。

参数配置界面可以让用户自定义被调试PL的出入参信息,包括参数值,参数长度等。

Note:
只有CHAR、NCHAR、VARCHAR、NVARCHAR、RAW、XMLTYPE支持填写参数长度。
填好参数信息后,单击【开始调试】启动调试,即可开启调试窗口。

开始调试后,参数配置不可被修改,不可重复启动调试。
若想直接停止调试会话,可关闭调试配置页签,在弹窗中单击【确定】,即可结束此调试会话并关闭此调试的所有相关窗口。

在左侧的调试会话菜单中,鼠标悬浮到调试配置名称上,可查看调试配置基本信息,单击调试配置名称,可快速跳转到对应调试配置页面。

# 运行时会话管理
运行时会话管理,给用户提供了断点管理、变量管理、运行时信息监控、存储过程执行等功能。
# 断点管理
# 管理断点
Note:
用户每次执行都会将断点进行持久化,下次调试会自动携带历史断点。
历史断点默认保存时长为7天。
YDC支持运行过程中动态的添加断点信息,在源码行号之前,可以单击空白区域动态添加删除断点。

YDC也支持在断点栏或者调试会话编辑器页面点击【鼠标右键】选中【断点管理】进行管理断点。
断点管理界面支持显示当前会话中的所有断点信息,并且支持取消已经添加的断点,以及导入与导出断点信息。

# 导出断点
调试会话编辑器页面单击【鼠标右键】选中【断点管理】,单击【导出到文件】即可将断点信息导出到文件中。

# 导入断点
调试会话编辑器页面单击【鼠标右键】选中【断点管理】,单击从【文件中导入】,选择文件即可导入断点到会话中。

导入成功后新导入的断点以棕色字体展示,并且提示导入断点数量。
Note:
只能导入存储过程存在、存储过程源码一致并且断点行数在源码范围之内的有效断点。

# 运行时信息监控
# 变量监控
变量监控界面可以查看当前调试PL中变量信息。

在编辑器中,鼠标悬浮到变量上,可查看此变量的基本信息,包括名称、类型、值。

选中变量,单击鼠标右键,选择【复制变量】,即可复制此变量的名称和值,格式为:key=value。

# 断点监控
断点监控界面可以查看当前会话中的断点信息。

# 栈帧监控
栈帧信息界面可以查看当前PL的堆栈层级,单击栈帧名称,可快速跳转到对应调试会话页面。

# 调试操作
# 继续 Step Continue
从当前断点跳到下一个断点处,如果之后没有断点,则直接执行结束。
可以帮助用户更好地理解程序的执行流程,定位代码中的问题,并进行调试和修复。

# 步入 Step Into
执行到下一行,如果当前行是个子程序,则会进入子程序内部。

# 步过 Step Over
执行到下一行,如果下一行是子程序,则直接跳过,不会进入子程序内部。
可以帮助用户快速执行当前代码行及其后续代码,而无需深入函数或存储过程内部进行逐步调试。

# 步出 Step Out
跳过直接跳出当前子程序,返回上一层,可以帮助用户更高效地调试代码。

# 结束调试 Terminate
当用户完成对代码的调试或者不再需要调试时,可以通过结束调试来退出调试,以便程序继续正常执行。

结束调试后,自动关闭所有相关的调试会话页签,同时自动切换至调试配置页签,用户可在【参数配置】界面中查看出参信息。


