Essential BizTalk Debugging Skills

On the topic of debugging skills, there are many things said and to be said, but I thought I’d take a moment to reflect on a few skills I believe BizTalk developers should develop to solve problems on their solutions effectively (in no particular order):

  1. Trace the execution of BizTalk processes end-to-end, covering both messaging and orchestrations. While this seems obvious at first, it can be tough on complex solutions that rely heavily on pub/sub and direct binding!
  2. Discovering the reasons why a service instance might be getting suspended. In particular, quickly finding any possible exception information coming from faulted instances.
  3. Using the orchestration debugger to figure out where a given Orchestration instance is getting suspended.
  4. Matching any receive shapes in an orchestration to the origin of messages coming for it. This might require matching logical ports with physical ports as well as possible direct-binding sources of messages.
  5. Tracking possible reasons for routing failures, particularly when correlations are involved. This includes being able to understand routing failure reports, checking the state of any required promoted property, comparing subscription information either directly on the message box as well as from reading orchestration code, and so on.
  6. Detecting and solving situations that stop flow/processing of messages, related to thread pool issues or thread starvation.
  7. Detecting zombie message instances and their possible consequences.
  8. Knowing how to enable the BAM tracing infrastructure to debug and solve issues with BAM not writing data to the BAM primary import database.
  9. Using the Visual Studio Debugger or WinDBG to debug BizTalk processes. This includes figuring out the right processes to attach to!
  10. Debugging assembly-loading/versioning issues. This includes how to use Fuslogvw.exe and friends.

Anyone else has any other ideas?

Comments (3)

Antonie MerksNovember 8th, 2009 at 9:07 pm

Use System.Diagnostics.Trace tracing and DebugView!

[...] Essential BizTalk Debugging Skills [...]

Leonid GanelineMarch 10th, 2010 at 1:45 am

Cool!
Perfect list of skills! Thanks, Tomas!

My 5 cents:
* Using the SoapUI is essential to debug Web-services. Plus using logging features of the WCF.
* Debugging SQL code. Uff, it’s a huge bucket of skills.
* Good skills to resolve issues with different kind of Windows services. Each installation and deployment is different and sometimes challenging.
* Debugging Xslt code.
* I start to use MSBuild and here is a different paradigm of debugging. Small and easy but different.
* Debugging Rules. Is seems the worst part of BRE, the debugging facilities = lack of them.

Leave a comment

Your comment