调试自定义管道
当消息处理在您的自定义管道中失败时,可以使用源级别的调试来确定和解决问题。 如果自定义管道部署) ,则使用 Visual Studio 调试器通过附加到 BTSNTSVC.exe (来完成源级调试;如果使用独立管道工具) ,则 Pipeline.exe (。
过程
使用以下过程调试自定义管道
如何调试已部署的管道
“组中心”页中的跟踪查询和事件查看器提供有关已部署组件中消息处理失败的有用信息。 此信息通常可用于缩小问题来源的范围。 一旦发觉问题可能涉及某一自定义管道后,就可以使用源级别调试来确定任何有问题的代码。
使用 Visual Studio 调试已部署的自定义管道
将自定义管道项目解决方案加载到 Visual Studio 中。
将解决方案的输出路径更改为 <“安装文件夹>\管道组件”。 在解决方案资源管理器中,右键单击项目,单击“生成”选项卡,然后通过单击“浏览”按钮并选择<“安装文件夹>\管道组件”目录来更改输出路径。
在 Visual Studio 中,单击“ 生成 | 部署”部署解决方案。
重新启动运行管道的主机实例。 使用 BizTalk Server 管理控制台,导航到运行管道的主机实例,右键单击该主机实例,然后单击“重启”。
将 Visual Studio 调试器附加到 BTSNTSVC.exe。 为此,可以依次单击“ 调试 | 附加到进程”、“在所有会话中显示进程”,然后双击“BTSNTSVC.exe”。
设置断点。
将某一消息放入适当位置可以启动自定义管道组件。 处理应在您设置的断点处停止。
注意
如果您的代码引发异常,BizTalk Server 将会捕获该异常并最终挂起消息。 若要避免此行为,您应该在第一次偶然出现异常时中止。
如何使用 Pipeline.exe 进行调试
还可以使用 Pipeline.exe 测试自定义管道。 这样做的优点是无需部署管道,代价是不会在类似于生产条件下运行。
注意
如果您的自定义管道使用平面文件组装器/拆装器,则 Pipeline.exe 将不会正确执行。 其原因在于,Pipeline.exe 并不访问 BizTalk 数据库。 一种解决方案是移除汇编程序/反汇编程序组件,并使用 FFDasm.exe 和 FFAsm.exe 分别对其进行测试。 有关详细信息 ,请参阅管道工具 。
使用 Pipeline.exe 和 Visual Studio 调试自定义管道
将自定义管道项目解决方案加载到 Visual Studio 中。
将解决方案的输出路径更改为 <“安装文件夹>\管道组件”。 在解决方案资源管理器中,右键单击项目,单击“生成”选项卡,然后通过单击“浏览”按钮并选择<“安装文件夹>\管道组件”目录来更改输出路径。
更改解决方案的启动操作。 在“解决方案资源管理器”中,右键单击项目,单击“调试”选项卡,单击“启动外部程序”,然后单击“...”,然后导航到<“安装文件夹>\SDK\Utilities\PipelineTools”,然后选择“Pipeline.exe”。 在“开始选项”下,输入适用于你的组件的命令行参数。 有关 Pipeline.exe 的详细信息,请参阅 管道工具。 典型配置指定管道和示例文件:
<Path>\YourPipeline.btp -d <Path>\YourTestFile.txt -c
设置您的断点。
按下 F5 以便开始调试。