Welcome to MSDN Blogs Sign in | Join | Help

Darren Jefford

Solution Architect, Microsoft Consulting Services, Microsoft UK
Handy BizTalk Debugging Tip

So, you’ve got Health and Activity Tracking (HAT) to look at the messages and orchestrations inside your BizTalk server, but typically you want more application level logging in the real world.

The Enterprise Instrumentation Framework (EIF) is a fantastic way of getting diagnostics/logging on the Microsoft platform, and you can of course leverage it from BizTalk, however for simple “What’s going on?” type stuff when your debugging then you can simply use System.Diagnostics.Debug .NET class.

You can use this from within any .NET components you call as usual, but crucially you can use it within an Expression shape in BizTalk to output say Promoted parts of a Message, debugging of the path in the orchestration taken (following a decide shape, etc.).  

Just makes life that bit easier – especially considering the pain it takes to unbind,unenlist, undeploy and then deploy, bind, enlist all over again J

You then need to be able to “see” this Debug, your best bet is DebugView from SysInternals, and while I’m here check out Process Explorer it’s had some massive changes over the past few months and now has built in symbol server support and the ability to see the call stack on threads in any process – Cool!

Posted: Thursday, April 29, 2004 10:54 AM by darrenj
Filed under:

Comments

Roy said:

Darren,
dbgview is the best thing since sliced bread! :) One cautionary note for readers though - make sure that 'development' builds of the Biztalk artefacts are created for the parts you wish to debug, since calls to the debug objects are stripped out of 'deployment' builds by the compiler...

This particular gotcha caught me out a few times. It's obvious that this happens when you're writing code from scratch, but not so obvious when you're developing Biztalk bits :)

Roy.
# May 10, 2004 11:58 AM

Matt Meleski's .Net Blog - The ABC's of .NET said:

# May 23, 2004 4:22 PM

Matt Meleski's .Net Blog - The ABC's of .NET said:

# May 23, 2004 5:11 PM

Enrico said:

I think that it's importante focused wich i want to monitor. If i have an error inside a input message i can't do anything with HAT and EIF, but i can solve this problematic just via rchestration wrap the ecxception.

Enrico
# June 11, 2004 2:35 PM

Mike Holdorf's Blog said:

# June 16, 2004 12:27 AM

Vinil said:

Hi Darren,
Do you have some samples of using EIF with Biztalk 2004. I have been trying to accomplish the same, but somehow it appears that the requirements of EIF are incompatible with Biztalk 2004.
Like:
1. How would one go about having a class with RunInstaller Attribute (this is required for generating the EnterpriseInstrumentation.config file)
2. I tried a simple call to the static Raise method (in an expression box in the orchestration.) To run this call, I put the EI.Config file in the Biztalk Program Files folder. Now this means that this config file is applicable across all of my orchestrations!

I have put forth these questions to the newsgroup, and since it was urgent I was wondering if you could share any samples you might have.
Thanks and regards,
Vinil
vinil.menon [ a t ] invensys.com
# July 20, 2004 10:51 AM

Matt Meleski's .Net Blog - The ABC's of .NET said:

Back in my COM+ VB6 days I always had a tough time to debug into my VB6 components that were running

# April 23, 2008 9:00 AM
Anonymous comments are disabled
Page view tracker