+ All Categories
Home > Documents > Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.

Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.

Date post: 24-Dec-2015
Category:
Upload: whitney-terry
View: 216 times
Download: 2 times
Share this document with a friend
Popular Tags:
16
Transcript
Page 1: Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.
Page 2: Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.

Debugging Microsoft ASP.NET and other .NET issues using WinDbg and Microsoft Visual Studio .NET 2010

Tess FerrandezASP.NET Escalation EngineerMicrosoftSession Code: WIA402

Page 3: Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.

Problem types

Hangs and performance issuesMemory leaks and high memory usageCrashesExceptions

Page 4: Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.

Tools and Resources

WinDbg.exe and adplus.vbs (Included with Debugging Tools for Windows)SOS.dll (Included with .NET framework)Debug Diagnostics 1.1Tinyget.exe(Included in the IIS Resource kit)Microsoft Visual Studio .NET 2010Blog: If broken it is, fix it you shouldhttp://blogs.msdn.com/Tess

Page 5: Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.

Hangs and performance issues

Idle hangs Waiting for external resourcesWaiting for locks/sync objects

Busy hangsCPU Intensive operationsHigh CPU in GCApplication restarts

Page 6: Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.

Step-By-Step

1. Reproduce problem2. Look at perf data (CPU Usage etc.)3. Get a memory dump (or two)4. Examine threads

a) (Idle) Find blocking calls or calls to external resources

b) (Busy) Look for active threads

Page 7: Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.

Memory leaks and high mem. usage

Managed (.NET)Cache / SessionHeavy Large Object Heap (LOH) usageBlocked finalizerGC heap fragmentation (pinning)

Loader heap issuesDynamic assembliesLots of apps in one app pool

Page 8: Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.

Step-By-Step

1. Look at perf data (.NET / Native or Loader heap issue)

2. Get a memory dump (or two)3. Check if the finalizer is blocked4. Dump the .NET GC Heap and determine where

the memory is going 5. Dump objects, or !gcroot them to see why they

are not being collected

Page 9: Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.

Crashes

OutOfMemoryExceptionStackOverflowExceptionExecutionEngineException.NET and Native Heap corruptionUnhandled exceptionsRecycling

Page 10: Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.

Exceptions

Tracing exceptionsDumping on exceptions

Page 11: Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.

Step-By-Step

1. Check Event logs2. Disable Recycling3. Set up a Debug Diag rule to capture dumps on

exceptions or crash4. Reproduce5. Look at stacks/exceptions in the dump (and/or

in log files)

Page 12: Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.

question & answer

Page 13: Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.

www.microsoft.com/teched

Sessions On-Demand & Community

http://microsoft.com/technet

Resources for IT Professionals

http://microsoft.com/msdn

Resources for Developers

www.microsoft.com/learning

Microsoft Certification & Training Resources

Resources

Page 15: Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.

Complete an evaluation on CommNet and enter to win an Xbox 360 Elite!

Page 16: Tess Ferrandez ASP.NET Escalation Engineer Microsoft Session Code: WIA402.

© 2009 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.


Recommended