Improving Your Application with IntelliTrace #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE Joseph Guadagno Team Leader & Software Architect at Quicken Loans, Microsoft Visual C# MVP, Organizer of Desert Code Camp, Husband of one, Father of two. #ITDevConnections WebsiteJosephguadagno.net Demo Sitejjg.me/introtwbs Source Codejjg.me/introtwbscode
IMPROVE YOUR APPLICATION WITH INTELLITRACE Agenda What is IntelliTrace? Debugging Applications Collecting Trace Information – In Deployed Desktop Application – In Deployed Web Application – In Windows Service Debugging from an IntelliTrace log file #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE WHAT IS INTELLITRACE #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE What is IntelliTrace IntelliTrace allows you to record events and method calls your application to examine its state (call stack and local variable values) at different points in the execution. #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE Requirements Visual Studio 2015 – Enterprise Edition – Professional Edition Visual Studio 2013 and earlier – Ultimate Edition or earlier #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE Enabling IntelliTrace Tools | Options, IntelliTrace Ctrl+Q, type IntelliTrace Debug | IntelliTrace, Open IntelliTrace Settings #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE What IntelliTrace Collects for Events Debugger Events – Values in the Local Window – Values in the Auto Window – Values in DataTips Exception – Handled and Unhandled.NET Framework Events #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE What IntelliTrace Collects for Function Calls Function name Values of primitive data types passed as parameters at function entry points and returned at function exit points Values of automatic properties when they are read or changed Pointers to first-level child objects, but not their values other than if they were null or not #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE Limit What IntelliTrace Collects Limit the IntelliTrace Events Limit the Modules IntelliTrace “watches” #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE Demo – Configure IntelliTrace #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE DEBUGGING APPLICATIONS #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE Demo – Live Debugging Applications #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE Navigation Gutter Set Debugger Context Here Set the debugging context to the call timeframe where it appears. This icon appears only on the current call stack. Return to Call Site Move the pointer and debugging context back to where the current function was called. If you are in Live Debugging mode, this command turns Historical Debugging on. If you navigate back to the original execution break, Historical Debugging is turned off and Live Debugging is turned on. Go to Previous Call or IntelliTrace Event Move the pointer and debugging context back to the previous call or event. If you are in Live Debugging mode, this command turns on Historical Debugging. Step In Step into the currently selected function. This command is available only when you are in Historical Debugging mode. Go to Next Call or IntelliTrace Event Move the pointer and debugging context to the next call or event for which IntelliTrace data exists. This command is available only when you are in Historical Debugging mode. Go to Live Mode Return to Live Debugging mode. #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE COLLECTING TRACE DATA #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE Collecting from a Deployed Application (Web / Desktop) IntelliTrace Collector – us/download/details.aspx?id=44909 Requires –.NET Framework 3.5, 4, 4.5 #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE Collecting from a Deployed Web Application - Setup From the server – Remote Permissions – PowerShell – #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE Collecting from a Deployed Application (Web Only) Microsoft Monitoring Agent – Requires –.NET Framework 3.5, 4, 4.5 – PowerShell 3.0 or Later – #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE Demo – Working with.iTrace #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE Collecting from Test Manager #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE TIPS #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE Avoid App Performance Hits Run the collector only when you think there’s a problem, or when you can reproduce the problem. To prevent the collector from slowing down other apps, host each app in its own application pool. Review the events in the collection plan for which IntelliTrace collects data. Review the modules in the collection plan for which IntelliTrace collects data. #ITDevConnections More tips at
IMPROVE YOUR APPLICATION WITH INTELLITRACE QUESTIONS? #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE REFERENCES #ITDevConnections
IMPROVE YOUR APPLICATION WITH INTELLITRACE Urls Edit IntelliTrace collection plan – Custom TraceSource and debugging – Diagnose problems after deployment – #ITDevConnections
Rate This Session Now! Rate with Mobile App: Select the session from the Agenda or Speakers menus Select the Actions tab Click Rate Session Rate with Website: Register at Go to Select this session from the list and rate it Tell Us What You Thought of This Session Be Entered to WIN Prizes! #ITDevConnections