If broken it is, fix it you should

Using the powers of the debugger to solve the problems of the world - and a bag of chips    by Tess Ferrandez, ASP.NET Escalation Engineer (Microsoft)

My presentation on Troubleshooting ASP.NET production issues at Developer Summit 2008

My presentation on Troubleshooting ASP.NET production issues at Developer Summit 2008

  • Comments 2

 

The purpose of my presentation was to show some common pitfalls and of course to show off windbg and sos just to show people that if you have a hang, perf issue, memory leak or crash, there are tools out there that can help you figure out the root cause so that you don't have to resort to guessing. 

The site I used for the presentation is attached to this blog post.

is a summary of the topics I covered.

Hangs and Performance issues

First I debugged a simple hang (using locks in conjunction with long running operations) to show the power of windbg and sos, and to show off a few of the commands.  (more info)

After this I went into a high CPU in GC scenario with string concatenation and showed a simple example where I reduced the execution time of a page assembling an XML file from 6 seconds to ~2 ms by changing from using string concatenation to using StringBuilder.  I had a brief spiel about how the GC works and why string concatenation caused high CPU in GC. (more info)

In the performance piece of the talk I also covered dataset serialization, how big the serialized data can become and how you can avoid it using dataset surrogates.

And finally i showed how you can log application restarts.

Memory Leaks

In the memory section I showed a few different leaks caused by blocked finalizers and storing a lot of data in cache/session. And I also showed how you can display all the session variables in a memory dump in order to investigate issues with high memory usage in session variables.

Exceptions and Crashes

I ended off the talk with a discussion on what can cause a crash and why you get out of memory exceptions and finally showed how simple it is to log exceptions using windbg, something I think all developers should do during the testing phase to get a feel for how many exceptions and what types of exceptions their application throws during normal working conditions.  

 

The full presentation has a few more topics but one hour is a bit too short to cover everything:)

Have fun,

Tess

Attachment: DevSummit.zip
  • Tess,

    Would you please share the presentation.

    Thanks

    Essam

  • It is attached to the post (DevSummit.zip)...  I didn't use a ppt, i hardly ever do.  Instead I did 1 hr of demos, so the site is the presentation...

Page 1 of 1 (2 items)
Leave a Comment
  • Please add 7 and 6 and type the answer here:
  • Post