分享
 
 
 

使用Microsoft脚本编辑器调试SQL工作流应用程序

王朝mssql·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

摘要:本文介绍 SQL 工作流应用程序的开发人员如何使用 Microsoft Office XP 中所带的 Microsoft 脚本调试程序来提高 Workflow Service for SQL Server 的调试功能。

简介

开发人员(在需要时)调试代码的速度快慢在很大程度上决定着快速部署解决方案的能力。Microsoft Office XP Developer 并不具有集成的调试程序;然而,您可以使用“即时调试”进程来调试事件脚本所使用的 Microsoft® Visual Basic® Scripting Edition (VBScript)。

本文介绍的进程存在某些局限性,例如必须在安装工作流服务的同一台计算机上进行调试,并需要切换回 Microsoft Office XP 开发环境以更改代码。虽然存在着这些限制,您仍将发现这极有助于提高您对 SQL 工作流事件脚本的调试能力,并能高效地部署 SQL 工作流应用程序。

安装所需软件

要成功调试 SQL 工作流应用程序中的脚本,需要首先在运行 SQL 工作流服务的服务器上安装 Microsoft 脚本编辑器 (MSE)。

要安装 MSE,必须在该计算机上安装 Office 应用程序,如 Microsoft Word 2002。安装 Word 2002 后,打开“工具”菜单,指向“宏”,然后单击“Microsoft 脚本编辑器”。

如果未安装该选件,系统将提示您安装该程序。按照要求安装 Microsoft 脚本编辑器 (MSE)。随后,可以使用 ALT+SHIFT+F11 从任意 Microsoft Office XP 应用程序快速启动 MSE。

启动 MSE 后,从菜单栏选择“调试”选项。该选项下有一个菜单项,名为“安装 Web 调试程序”。此菜单项只在初次运行时显示。随后,将显示调试选项。这些将在本文后面进行讨论。

注意:安装 Web 调试组件后需要重新启动 MSE。在出现重新启动 MSE 的提示后,单击“是”按钮。如果需要,可以手动地重新启动 MSE,方法是在任意 Office XP 应用程序中按 ALT+SHIFT+F11;您还可以搜索文件 mse7.exe,然后直接执行该文件。

要验证是否已安装 Web 调试程序,请单击“调试”菜单项;选项列表随即应显示各项,如“开始”、“进程”等。

要使 MSE 调试程序捕获脚本错误,您必须启用 JIT 选项。

要启用 JIT 选项来捕获脚本错误,请执行以下操作:

打开“工具”菜单。

指向“选项”。

单击“调试”。选择“调试”后,右侧面板将显示一个名为“JIT 设置”的按钮。

单击“JIT 设置”按钮,将显示“JIT 调试设置”对话框。

在“JIT 调试设置”对话框中,选择程序类型“脚本”,并确保选中“启用附加”和“启用 JIT 调试”复选框。

这样,在出现错误时,这些设置就可使 SQL 工作流脚本中断运行,并在 MSE 中显示错误行。

调试工作流应用程序

要成功完成调试,必须先创建 SQL 工作流解决方案(如果尚未创建)。有关如何创建 SQL 工作流解决方案以及如何向其中添加脚本的信息,请阅读 Microsoft Office XP Developer 附带的文档。

注意:建议将工作流进程作为单独进程来运行。要实现此目的,可以在 Microsoft Office XP Developer 开发环境中将工作流的 SeparateProcess 属性更改为 True。

有了工作流应用程序后,将以下脚本添加到 Sub Create1_OnCreate:

Dim intA

Dim intB

Dim intC

intA = 5

intB = 10

intA = intA ? 5

intC = intB / intA

此代码的作用是模拟除零错误,这种错误通常导致脚本运行失败,并使您无法进行进一步的操作。现在按照这些步骤来模拟错误如何发生以及如何进行调试:

保存该工作流并尝试将记录添加到启用工作流的数据库中。

一旦您尝试保存记录,“即时调试”对话框就会提示您选择可能使用的调试程序。选择 MSE 实例,然后单击“是”。

下一个对话框将显示正在调试的进程名称和程序类型。选择“脚本”,然后单击“确定”。

单击“确定”后,调试程序将显示错误消息“Microsoft VBScript runtime error: Division by zero”(Microsoft VBScript 发生运行时错误:除数为零),并显示“中断”和“继续”按钮。您会看到在编辑器中装载了 SQL 工作流事件脚本。还可看到导致该错误的脚本行。

按“中断”继续进行调试。该脚本文件将装载到“项目资源管理器”的“其它文件”节点下,名称为 MOD Workflow Engine―Event Script。

可以检查这些变量/表达式的值,方法是按 CTRL+ALT+Q 来启动 QuickWatch。在“表达式”列表中,键入变量名(如 IntA 或 IntB)以便查看其当前值。

要忽略该错误并继续执行此代码,请将“显示下一个语句”箭头移动到下一行,然后按 F5 以便继续执行代码的其余部分。

附加到已在执行的代码

可以将 MSE 附加到已在运行的代码,然后逐步检查该代码以便确定所执行的代码路径。以下为所需进行的步骤:

启动 MSE,打开“调试”菜单,然后单击“进程”。

这将显示该计算机当前运行的所有进程的列表。

在可用进程列表中,搜索并选择标题为 MOD Workflow Engine,类型为 T-SQL、Win32 和 Script 的 modhost.exe。

注意:脚本引擎必须已在运行,才能显示在此列表中。必须至少对该脚本引擎进行一次调用,脚本引擎才会运行。如果它未出现在列表中,则需执行一次工作流操作,如添加记录或更改状态,以便触发事件脚本。

单击“附加”按钮。

在“附加到进程”对话框中,确保选择了“脚本”,然后单击“确定”。进程 modhost.exe 即被添加到“已调试进程”列表的底部。

单击“中断”按钮。

这可确保一旦执行了任何代码,它都将中断于调试程序。这适用于任何代码,不管有无错误。此功能非常有用,因为一旦事件代码开始执行,调试程序就将停止该代码。开发人员就可以逐步进行检查,查看各步骤的顺序以及变量值,并捕获任何脚本错误。

关闭“进程”对话框,然后重新尝试将记录添加到启用了工作流的表中。

这次您可能会注意到有所不同。“脚本调试程序”启动更加迅速,并在代码的第一行中断运行。然后,您就可以根据 MSE 调试程序所提供的“步骤”选项来控制代码流。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有