Sign in
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)
Tess Ferrandez
I work as a developer evangelist at Microsoft, and my job is to help developers make the most of their skills on the MS stack.
In this blog I share tips on anything from debugging and troubleshooting to development on platforms like Windows, Web, Windows Phone and Kinect. And also some random tidbits about computing and my life at MS.
If you are new here, start with:
My debugging labs (Buggy Bits)
My Silverlight labs (building a game)
XNA for Windows Phone Walkthrough (building a game)
Thanks for visiting my blog
@TessFerrandez
Options
About
Email Blog Author
RSS for posts
Atom
RSS for comments
OK
Search this blog
Tags
ASP.NET
Crash scenarios
Debugging
Debugging Labs
General debugging tidbits
JavaScript
Kinect SDK
Memory issues
Pages
Performance issues and hangs
presentation
Silverlight
SOSEX
Windows 8
Windows Phone
Windows8
XNA
Archive
Archives
May 2013
(1)
April 2013
(1)
May 2012
(1)
March 2012
(8)
August 2011
(3)
May 2011
(1)
December 2010
(1)
November 2010
(1)
September 2010
(3)
August 2010
(2)
June 2010
(1)
May 2010
(1)
April 2010
(3)
March 2010
(4)
February 2010
(2)
January 2010
(2)
December 2009
(2)
November 2009
(2)
October 2009
(4)
September 2009
(4)
August 2009
(2)
July 2009
(1)
June 2009
(3)
May 2009
(3)
April 2009
(5)
March 2009
(9)
February 2009
(2)
January 2009
(6)
November 2008
(8)
October 2008
(7)
September 2008
(7)
August 2008
(5)
July 2008
(1)
June 2008
(7)
May 2008
(12)
April 2008
(14)
March 2008
(12)
February 2008
(17)
January 2008
(5)
December 2007
(2)
November 2007
(1)
October 2007
(8)
September 2007
(3)
August 2007
(7)
June 2007
(5)
May 2007
(1)
April 2007
(5)
March 2007
(4)
January 2007
(1)
December 2006
(1)
November 2006
(2)
October 2006
(4)
September 2006
(3)
August 2006
(3)
June 2006
(1)
May 2006
(1)
April 2006
(5)
March 2006
(2)
February 2006
(8)
January 2006
(7)
December 2005
(3)
November 2005
(6)
MSDN Blogs
>
If broken it is, fix it you should
Posts
Subscribe via RSS
Sort by:
Most Recent
|
Most Views
|
Most Comments
Excerpt View
|
Full Post View
If broken it is, fix it you should
Performance Testing Web Applications - New Patterns and Practices guide
Posted
over 6 years ago
by
Tess1
2
Comments
One of my old colleagues J.D. Meier has written a performance testing guide with the Patterns and Practices team. Here is a link to the guide, it's well worth reading: http://blogs.msdn.com/jmeier/archive/2007/10/27/now-on-msdn-patterns-practices-performance-testing-guidance-for-web-applications.aspx Laters, Tess
If broken it is, fix it you should
Why is my app performing worse on .NET 2.0 than on 1.1 (or why aren't the oranges at work as tasty as the apples at home?)
Posted
over 6 years ago
by
Tess1
3
Comments
If you were to compare the taste of the oranges in the fruit basket at work to the taste of the apples you bought on your way home and realize that they taste differently, what would your conclusion about the difference in taste be? a) They taste differently because one is an apple and one is an orange b) The apple tastes better because you eat the apple at home relaxed in your sofa and the orange while you are coding at work c) The apple tastes better because it is fresh from the store (which...
If broken it is, fix it you should
.NET Hang case study - High CPU because of poorly formatted regular expressions (Identifying tight loops)
Posted
over 6 years ago
by
Tess1
13
Comments
Sometimes you hear and accept advice but you don't really know the details behind it. That has always been the case with me and high CPU situations caused by badly formatted regular expressions. The reason I haven't really bothered to find out why is because I've never had a case on it until today... It's actually not that I haven't been interested, in fact regular expressions fascinate me in a geeky way. My favourite class in college was a class on " automata theory and formal languages " a class...
If broken it is, fix it you should
My Team is Hiring
Posted
over 6 years ago
by
Tess1
10
Comments
Time for a commercial break, If you read this blog you probably know what I do. If it is something that you would like to do for a living, now is your chance! My team (the Microsoft EMEA Internet Support Team) is hiring. We are primarily looking for a new team member in France (Paris/Les Ulis), but the main criteria apart from good skills in troubleshooting and specifically in the Internet sphere (IIS, ASP.NET etc.) and good customer service skills, is that the applicant speaks fluent French...
If broken it is, fix it you should
ASP.NET 2.0 OutputCaching - Download dialog box after browsing with SmartPhone
Posted
over 6 years ago
by
Tess1
6
Comments
A few days ago I got an interesting case with a customer who intermittently kept getting a download box with Safari and a similar one telling him that he has choosen to open Default.aspx, do you want to open or save the file, when browsing the site with FireFox. In IE it sometimes came back with the following message The XML page cannot be displayed Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later. Invalid...
If broken it is, fix it you should
.NET Finalizer Memory Leak: Debugging with sos.dll in Visual Studio
Posted
over 6 years ago
by
Tess1
10
Comments
Normally I write about issues that only manifest themselves in production environment, issues that you can't really reproduce in a controlled dev environment every time you perform a certain action. In those cases you need to use tools like windbg to gather dumps and do post-mortem debugging. Windbg works really well for those types of issues, but it has its shortcommings since it is not really a managed debugger so it is much harder to set breakpoints in .NET code or step through code, or even...
If broken it is, fix it you should
Creating dumps with Windbg and writing ADPlus Config files
Posted
over 6 years ago
by
Tess1
5
Comments
My colleague Carlo just wrote a post on how to create dumps and how to configure ADPlus with config files, that I thought was really useful http://blogs.msdn.com/carloc/archive/2007/10/08/ok-now-how-do-i-capture-my-dump.aspx He also talks a little about DebugDiag, a tool for creating dumps and doing automated dump analysis for certain cases. Btw, the dumps you generate with debug diag can be read in windbd and vice versa since the dump format is exactly the same. Tess
If broken it is, fix it you should
I'm presenting at Oredev in Malmo, Sweden Nov 13th-15th
Posted
over 6 years ago
by
Tess1
4
Comments
Nov 13th-15th I will be presenting at Oredev in Malmö, Sweden. Oredev is a tech conference and this year it looks really promising considering all the big names they have brought in to present. I will be doing a presentation on Common issues in ASP.NET production environments. It will basically be a presentation on things to avoid in order to not run into some of the most common hangs/perf issues, memory issues, crashes and exceptions and for good measure I am planning to throw in some windbg/sos...
If broken it is, fix it you should
Debugging Script: Dumping out ASP.NET Session Contents
Posted
over 6 years ago
by
Tess1
18
Comments
In my last post I wrote a script to dump out all the ASP.NET requests on the heap. Since one of the most common memory issues I encounter is too much cache or session state I figured that showing you how to retreive session data would be good. A word of caution, since this script uses !dumpheap (to dump out the objects on the heap) and !objsize (to figure out the size of an object including the size of its membervariables) it may take a long time to execute if you have a very large dump, which...
If broken it is, fix it you should
Debugging Script: Dumping out current and recent ASP.NET Requests
Posted
over 6 years ago
by
Tess1
21
Comments
When you debug asp.net applications it is often useful to find out which requests are currently executing, how long they have been executing, what the querystring was etc. Since getting this information from a dump can be a long and tedious process even if you know what you are doing, it lends itself extremely well for a script. If you are only interested in the script itself, please skip to the last section, but if you're anything like me, and want to know the nitty gritty details and want to...
If broken it is, fix it you should
ASP.NET Hang scenario: Kernel Debugging for Dummies
Posted
over 6 years ago
by
Tess1
8
Comments
A local radio show has started giving out cookie points to their interviewees for personal development, and the other day my coworker decided to give me one for debugging a perf issue in kernel-mode... YAY!!! Having debugging as a profession, you might have thought that I would have done a lot of kernel debugging, but since I deal mostly with ASP.NET and .NET development most of our issues are in usermode so there is rarely a need to debug the kernel (drivers etc.). In fact, I have only debugged...
If broken it is, fix it you should
An attempt to improve the blog quality
Posted
over 6 years ago
by
Tess1
3
Comments
Courtesy of my pals on http://blogs.msdn.com/ntdebugging/ I have added a chance to give post feedback, by adding a survey at the bottom of my case studies. The survey is an anonymous "yes" or "no" click and I'll use it to figure out what type of posts and topics are most useful so if you read a post that resolves a problem for you or helps you in the right direction, please click away:) Thanks, Tess
If broken it is, fix it you should
ASP.NET Memory Investigation
Posted
over 6 years ago
by
Tess1
14
Comments
This is a bit of a continuation of ASP.NET Memory Issue: High memory usage in a 64bit w3wp.exe process so if you haven't checked it out you might want to just glance over it before reading this one to get the context of the problem and some notes on 64 bit debugging. Before I go into the details I just want to mention that what I will talk about does not only apply to 64 bit debugging even though I am using a 64 bit dump, you can just as easily see the problems I will talk, about and use the same...
If broken it is, fix it you should
ASP.NET Hang Case Study: Application hangs on startup
Posted
over 6 years ago
by
Tess1
4
Comments
Recently we have been getting quite a few similar hangs in ASP.NET. From the first look they really aren't all that similar but when we get down to the nitty-gritty we see that they all hang or rather have a very high latency, in the exact same location. Problem description: On startup, the first request for an aspx page, no matter how simple it is, will take around 2 minutes. In fact, all subsequent requests will also take 2 minutes to execute, so the server is essentially out of order. ...
If broken it is, fix it you should
More reading material
Posted
over 6 years ago
by
Tess1
2
Comments
I want to try to keep this blog free of link-listings and just publish my own case studies etc. but when I come across something like these articles by Rahul Soni, I can't help but share them The infamous debug=true attribute Post Production Debugging for ASP.NET Applications – Part 1 Enjoy, Tess
If broken it is, fix it you should
ASP.NET Memory Issue: High memory usage in a 64bit w3wp.exe process
Posted
over 6 years ago
by
Tess1
11
Comments
By default when you run IIS on a 64-bit machine you will still be running a 32-bit w3wp.exe, so apart from a few differences, like being able to use 4 GB virtual bytes instead of 2 GB virtual bytes the difference in debugging an issue on 32-bit vs. 64-bit is not that big. You will still be debugging with a 32-bit debugger and the memory will be aligned the same as in any 32-bit process on a 32-bit system. As a matter of fact, something that is very important to point out, is that if you happen...
If broken it is, fix it you should
Reading Material
Posted
over 6 years ago
by
Tess1
5
Comments
One of the benefits of moving back to Sweden was for sure the 6 weeks of vacation I get every year... yeah you read it right, 6 weeks:) I came back yesterday from taking 4 of those weeks and although I do really love my job it sure is really hard to get into it again... This season I am going to start off soft with two books that were recommended to me, and since I constantly get emails asking for reading recommendations I thought I'd share... The first one is " Debugging Microsoft .NET 2.0...
If broken it is, fix it you should
DigiGirlz Summer Camp 2007 - Sweden
Posted
over 6 years ago
by
Tess1
0
Comments
I realize that not too many girls in Sweden about to start 9th grade are going to read my blog, but perhaps you have a daughter or a cousin or a friend that age... Microsoft has a program called DigiGirlz which is meant to get girls more interested in IT and this year there will be a DigiGirlz Summer Camp at Microsoft in Stockholm on the 13-15 of August (9.00-16.00). The camp is open to all girls about to start 9th grade and you get to learn cool stuff like XBOX, photoediting, Photostory, Windows...
If broken it is, fix it you should
A Case of Invalid Viewstate
Posted
over 6 years ago
by
Tess1
38
Comments
Last week I was helping a colleague of mine with a viewstate case that turned out to be pretty interesting... Scenario The customer was getting events similar to the following in the eventlog and needed to know why they occurred Event Type: Information Event Source: ASP.NET 2.0.50727.0 Event Category: Web Event Event ID: 1316 Date: 2007-06-11 Time: 09:48:02 User: N/A Computer: MYMACHINE Description: Event code: 4009 Event message: Viewstate verification failed. Reason: The viewstate...
If broken it is, fix it you should
Post Index
Posted
over 6 years ago
by
Tess1
3
Comments
Piers commented on the hang walkthrough post that it would be nice to have a post index since it's a bit of a pain to search through blogs when they get too big. I totally agree. I don't know how many times I have ended up using the search box to find one of my posts when I needed to send them to people, because I have managed to not tag my posts the way even I expected them to be tagged:) and even the times when they were tagged ok, there was too much "next" clicking... So... as a courtesy to myself...
If broken it is, fix it you should
Bag of Chips: What should I do with my butler?
Posted
over 6 years ago
by
Tess1
7
Comments
This year the Swedish MS Office won the "Best place to work" award from the Great Place to Work institute for the second year in a row. I know, I know, we are the borg and all that, but heck, it is a really good place to work... anyways... what does this have to do with butlers? Well, this company James decided to give all the MS employees two hours of butler service and I just can't figure out what to do with mine so I figured maybe you guys have some good ideas:) So far I have discarded ...
If broken it is, fix it you should
WinDBG Scripts
Posted
over 6 years ago
by
Tess1
7
Comments
I see post-mortem debugging as: 39,5 % taking memory dumps at the right time 20,5 % running the same ol' commands over and over 31 % jumping to conclusions based on experience and proving the theory, and... 9 % pure luck, i.e. you happen to stumble upon something when poking around Don't you just love it when people apply arbitrary percentages to abstract things, especially here, 9% of what, and how did I get to that conclusion :) And have you noticed that as opposed to this list...
If broken it is, fix it you should
Swedish .NET Debugging PodCast
Posted
over 6 years ago
by
Tess1
3
Comments
I know most of you probably don't know Swedish, but for those of you who do, here is a link to a podcast http://buzzfrog.blogs.com/zabrak/2007/04/av_91_tes... where Dag König is interviewing me about .NET issues and debugging. Laters, Tess
If broken it is, fix it you should
.NET Garbage Collector PopQuiz - Followup
Posted
over 6 years ago
by
Tess1
36
Comments
It was really exciting to see that so many people answered the .NET GC PopQuiz , especially seeing that so many had great answers. Perhaps the questions were too easy:) The reason I posted the pop quiz in the first place is that, as opposed to Phil, who commented that none of this should really matter to the developer:), I do think that a good understanding of what happens behind the scenes when you are programming on top of a lot of code that you don't control, is important since it tells you...
If broken it is, fix it you should
.NET Garbage Collection PopQuiz
Posted
over 6 years ago
by
Tess1
25
Comments
Time for a little pop-quiz/potential interview questions to get some action going in the comments section... Feel free to answer any or all of the below questions, I'll follow up with a post later if all of them are not answered... 1. How many GC threads do we have in a .NET process running the Server version of the GC on a dual-core machine? 2. What GC mode is used in the web development server (cassini) on a quad proc machine? Why? (you can choose from server, workstation or concurrent...
Page 8 of 11 (252 items)
«
6
7
8
9
10
»