Dynamics CRM in the Field

Information from the Microsoft Dynamics CRM PFE team working in the field

Diagnosing CRM Issues with Tracing

Diagnosing CRM Issues with Tracing

Rate This
  • Comments 0

Tracing is a way to get detailed information about the inner workings of your Microsoft Dynamics CRM Server and Outlook Client’s. Tracing is very simple to use and is the 2nd level of effort when hunting down issues. The first step is at the functional level. This includes application settings, workflows, and looking at scripts. A common area to look at first are your workflows which allow you  flexibility in your business process, but you could have some logic errors.

How to enable tracing in Microsoft Dynamics CRM http://support.microsoft.com/kb/907490
Once you’ve turned on Tracing, the application will produce a log file that you can then analyze or hand off to support.

So, what’s in a trace anyway ? It’s a text file with a history of actions by the program. Here’s an example partial trace-- you’ll notice it’s quite verbose and might seem daunting to look through.
The next step is using a tool to help analyze the trace.

# CRM Tracing Version 2.0
# LocalTime: 2010-09-02 08:17:05.4
# Categories: *:Verbose
# CallStackOn: Yes
# ComputerName: DEMOBOX
# CRMVersion: 4.0.7333.2862
# DeploymentType: OnPremise
# ScaleGroup:
# ServerRole: AppServer, AsyncService, DiscoveryService, WebService, ApiServer, HelpServer, DeploymentService

[2010-09-02 08:17:05.4] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread:   18 |Category: Application |User: 00000000-0000-0000-0000-000000000000 |Level: Verbose | AppWebService.Dispose
at AppWebService.Dispose(Boolean disposing)
at MarshalByValueComponent.Dispose()
at ServerProtocol.DisposeServerInstance()
at WebServiceHandler.Invoke()
at WebServiceHandler.CoreProcessRequest()
at SyncSessionlessHandler.ProcessRequest(HttpContext context)
at CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
at ApplicationStepManager.ResumeSteps(Exception error)
at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
at HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest wr)
at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
>AppWebService Destructed: Microsoft.Crm.Application.WebServices.LookupService
[2010-09-02 08:17:06.8] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread:   18 |Category: Platform |User: 00000000-0000-0000-0000-000000000000 |Level: Verbose | SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute
at SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
at ApplicationStepManager.ResumeSteps(Exception error)
at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
at HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest wr)
at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)
>MapOrgEngine: Retreived the OrgId[{CC06919E-44AD-DF11-A5D2-0050569E2DB6}] for URL[http://DemoCRM:5555/DEMO/sfa/accts/edit.aspx?id={144869C0-ECAE-DF11-B909-0050569E2DB6}].
[2010-09-02 08:17:06.8] Process: w3wp |Organization:00000000-0000-0000-0000-000000000000 |Thread:   18 |Category: Platform |User: 00000000-0000-0000-0000-000000000000 |Level: Verbose | SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute
at SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
at ApplicationStepManager.ResumeSteps(Exception error)
at HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object extraData)
at HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
at HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest wr)
at ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)

Analyzing the trace is the key to solving your CRM hiccups. There are few different trace viewers available. Here’ is one from Codeplex - Trace Viewer.

Notice you can filter to see only the error messages.

TraceMenu

Next, you can evaluate the error message and read the details

TraceMenu

The details shows us that a stored procedure is missing. The next step is to determine what caused the issue and how to resolve it.

At this point, you should consider contacting support to assist you.

Knowing how to capture a trace and do some preliminary analysis can help you speed up the time to find resolutions. Including a trace file with you support incidents can also
improve the time to a resolution.

-cheers

Jon White | CRM Premier Field Engineer | Microsoft Dynamics US

 

Leave a Comment
  • Please add 1 and 2 and type the answer here:
  • Post