调试器可用于调试UXsinoDB中的函数、存储过程。调试器可作为UXsinoDB安装的扩展程序提供。必须具有超级用户特权才能使用调试器。
在使用调试器之前,需要修改uxsinodb.conf文件,将服务器端调试器组件添加到shared_preload_libraries参数中,保存后,重启服务器以应用更改:
shared_preload_libraries ='plugin_debugger'
调试器可用于目标函数或存储过程的上下文调试或直接调试。使用调试器进行上下文调试:需要在程序的第一行设置一个断点。当会话调用目标时,控制权将转移到调试器;使用直接调试:调试器会提示输入目标所需的参数,然后允许单步执行代码。
上下文调试
要在程序的第一行设置断点,请右键单击要调试的对象的名称,然后从“调试”子菜单中选择“设置断点”。调试器窗口将打开,等待另一个会话来调用程序。
当另一个会话调用目标时,调试器将显示代码,允许添加断点或逐行浏览。另一个会话被挂起,直到调试完成。然后控制权返回到会话。
直接调试
要将调试器用于直接调试,请在UXDBAdmin树控件中右键单击要调试的对象的名称,然后从“调试”子菜单中选择“调试”,调试器窗口将打开。
使用“调试器”对话框上的字段为每个参数提供一个值:
“名称”字段包含正式的参数名称。 |
“类型”字段包含参数数据类型。 |
“检查Null?”复选框,以指示该参数为NULL值。 |
“检查表达式?”复选框,如果“值”字段包含表达式,则选中该复选框。 |
使用“值”字段提供将传递给程序的参数值。输入参数值时,将值键入到网格上的适当单元格中,或者将单元格留空以表示NULL,输入''(两个单引号)以表示一个空字符串,或输入仅包含两个字符的文字字符串单引号。 |
“是否使用默认值?”复选框,指示程序应使用“默认值”字段中的值。 |
“默认值”字段包含参数的默认值。 |
提供程序所需的值,然后单击“调试”按钮以开始逐步执行程序。在逐步执行程序时,“本地变量”选项卡显示每个变量的当前值:
“堆栈”选项卡将显示调用堆栈,包括每个调用者的名称,每个调用者的参数值(如果有)以及每个调用者中的线路号:
程序完成后,“?结果”选项卡将显示服务器返回的消息。如果程序遇到错误,则“消息”选项卡将显示详细信息: