2
Common ASP.NET production
issues and how to troubleshoot
them with WinDbg
Tess Ferrandez - Norlander
Support Escalation Engineer
Microsoft
Session Code: WUX405
3
4
5
6
7
8
9
We will be using
BuggyBits from http://blogs.msdn.com/Tess
Debugging Tools for Windows
SOS.dll
Task Manager
Visual Studio Team System Test
TinyGet
Performance Monitor
Our brains
10
Performance issues
Low CPU => waiting for external resources
and/or locks
High CPU => busy server, infinite loops or high
CPU in GC
11
Performance issues
12
Performance issues
High or Low CPU?
Get memory dump(s)
Look at threads
VSTS Test and Profiling is good if you can repro
in a test environment
13
Crashes
Recycling
Unhandled exceptions
Stack overflow
Fatal Execution Engine Exceptions
Heap Corruption
Out of memory
14
Crashes and Exceptions
15
Crashes and Exceptions
Check out the eventviewer
Disable recycling options
Get memory dump(s)
Look at faulting stacks or logs if neccesary
Use TrackClr.cfg to track exceptions during
testing
16
High memory usage and OOM
Caching and Session State
“Unexpected roots”
Blocked finalizer
DataSet serialization
Large viewstate
Assembly leaks with XmlSerializer
Pinned objects
17
Memory
18
High memory usage and OOM
What are you leaking? (native, .net, assemblies)
Take multiple dumps when memory is raising
and compare
Check the finalizer
Check the Large object heap
Try to group “leaking” objects
Figure out why they are sticking around
(rooted)
19
Remember...
There are tools out there to track down these
types of issues
http://blogs.msdn.com/Tess
Track exceptions during testing with
TrackCLR.cfg
Debugging Tools for Windows
www.microsoft.com/teched
Tech·Talks Tech·Ed Bloggers
Live Simulcasts Virtual Labs
http://microsoft.com/msdn
Developer’s Kit, Licenses, and MORE!
Resources for Developers
Related Content
http://blogs.msdn.com/johan
http://blogs.msdn.com/carloc
http://blogs.msdn.com/dougste
http://blogs.msdn,.com/tom
TLA05-IS Debugging Performance Issues, Memory Issues and Crashes in .net
Applications
Track Resources
Complete an
evaluation on
CommNet and
enter to win!
1 Year
Subscription!
24
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should
not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Common asp.net production issues rev

Editor's Notes