Introduction

When it comes to debugging orchestrations there are several options you as a developer can choose. A developer can choose to use the orchestration debugger, use System.Diagnostic.Trace statements in Expression shapes, or framework like BizTalk.CAT.Instrumentation.  This article will discuss the several options for debugging your orchestrations.

Orchestration debugging

Using the Group Hub page in the BizTalk Server Administration console, you can debug your orchestrations by writing the information to the event log to trace the output or using custom code to track your business process. MSDN: Debugging orchestrations. It is also possible to directly debug the underlying XLang engine by attaching to the generated C# file, this is explain in the post 'Orchestration debugging'.

System.Diagnostics

One of the oldest tricks you as a developer can pull is using the print statement in expression shapes in an orchestration at critical points. This can be done by using the .NET System.Diagnostics.Trace and System.Diagnostics.Debug class libraries. You can use these libraries to write trace and debug information to one or more listeners like DebugView for instance. With this tool you can monitor debug output on your local system or on any computer on the network that you can reach via TCP/IP.

log4net

Another way of debugging similar to System.Diagnostic is log4net. Log4net is a port of the log4j framework to the .NET runtime and part of the Apache Logging Services project. This project is intended to provide cross-language logging services for purposes of application debugging and auditing. It is a tool that helps the programmer output log statements to a variety of output targets. It can enable to track orchestration events, without using the orchestration debugger and can be viewed as a substitute for it. The following resources can be used to download the tool, find guidance in usage and background information:

Frameworks

Another way of debugging your orchestration is using the Event Tracing for Windows. The BizTalk Instrumentation Best Practices Samples solution provides a reusable framework intended to help BizTalk developers enrich their solutions with high-performance instrumentation based on the Event Tracing for Windows (ETW) infrastructure.  The Microsoft's BizTalk Customer Advisory Team (CAT) build a framework on top of the ETW infrastructure and Thomas F. Abraham build the BizTalk CAT Instrumentation Framework Controller, which is an easy-to-use GUI for the BizTalk CAT Instrumentation Framework. This controller enables you to start and stop a trace and adjust filter options, and can easily enable real-time tracing to Microsoft Sysinternal DebugView (or other debuggers), to a log file or to both at the same time. The following resources can be used to download the tool, find guidance in usage and background information:

See Also

Read suggested related topics:

Another important place to find a huge amount of BizTalk related articles is the TechNet Wiki itself. The best entry point is BizTalk Server Resources on the TechNet Wiki.