Sign in
ASP.NET Debugging
Debugging from an ASP.NET and Azure Engineer. Posts are from customer issues and things I feel may be useful.
Tags
.NET
ADO.NET
AJAX
ASP.NET
ASP.NET Tip
Azure
Books
Cache
Chat
Code
Crash
Data Access
Debugging
DeepZoom
Deploying
Dynamic Assemblies
Entity Data Model
Error Handler
Exam
Exceptions
Expression
F#
Hang
High CPU
High Memory
Hotfix
HttpModule
Humor
Hyper-V
Ideas
IE8
IIS
IIS7
jQuery
JSON
Linq
Live Mesh
Logic Puzzles
Microsoft
Mobile
MS07-040
MSDN
MVC
Olympics
Pages
PDC
Psscor
Reporting Services
RIA
Security
SharePoint
Silverlight
SOS
SQL Injection
static
Threading
Trivia of the Day
Videos
Vista
Visual Studio
WCF
Windows
Windows Azure
Windows Home Server
WorldWide Telescope
Browse by Tags
MSDN Blogs
>
ASP.NET Debugging
>
All Tags
>
asp.net tip
Tagged Content List
Blog Post:
ASP.NET Tip: Understanding the caching of data in SOS
ASP.NET Debugging
The sos that comes with the debugger, in the clr10 directory, has a lot of additional features and speed improvements for .NET 1.x troubleshooting. One of the main ways it does this is by caching the data that is gathered from !DumpHeap -stat. This is something important to remember if something happens...
on
8 Oct 2008
Blog Post:
ASP.NET Tips: Careful Use of Static's
ASP.NET Debugging
Not sure how many people realize it, but when you start dealing with multiple users access a system (in this case a web server), you have to be very careful what you store in static's (global variables). This is because all the users will have access to this data and so if you create a page, you...
on
18 Sep 2008
Blog Post:
Improving Time-Critical Code written in C
ASP.NET Debugging
Writing web pages is very similar to writing any other type of code. You have to understand how it is going to be used and where you need to really make things run as quickly as possible. There are a number of tips on this blog already that deal with managed code and ways to optimize it. ...
on
2 Sep 2008
Blog Post:
ASP.NET Tip: Keep hidden files hidden
ASP.NET Debugging
I have seen a few cases of this so I wanted to let everyone know. If you install the FrontPage Server Extensions (FPSE) on a web server, it will install some configuration files in a directory under your web site called _vti_cnf. This folder contains a bunch of files that FPSE use to update...
on
26 Aug 2008
Blog Post:
ASP.NET Tip: ASP.NET MSDN Site
ASP.NET Debugging
Have you checked out the MSDN site for ASP.NET lately? It is full of useful information. You can find it at the ASP.NET Developer Center . My favorite things to check out are the “How Do I” videos. They can be really helpful and can get you started on a specific topic. Check...
on
20 Aug 2008
Blog Post:
ASP.NET Tips: Loading a DLL out of the bin directory
ASP.NET Debugging
Question A customer has created a web project which references a class library project. When deployed to the local machine the web/classes all work fine. When deployed to a ‘shared’ IIS site, the class DLLs exist in the /bin folder, but the web page generates an error: can’t find file “Documents...
on
21 Jul 2008
Blog Post:
ASP.NET Tips: Using Process Explorer to help with high CPU
ASP.NET Debugging
I am not sure how many people are familiar with the great tools that Mark and the Sysinternals folks have created, but this is one that is a must for monitoring the performance of your machine. It is called Process Explorer . With it, you can see what is taking up your CPU time in real time...
on
24 Jun 2008
Blog Post:
ASP.NET and Performance
ASP.NET Debugging
I wanted to talk about monitoring performance in ASP.NET for a bit. I have already posted a few postings that talk around this issue, namely: ASP.NET Debugging - High Memory part 5 – Fragmentation ASP.NET Debugging - ASP.NET Tips- How to use DebugDiag to track down But there are some other things...
on
23 Jun 2008
Blog Post:
ASP.NET Tips: What to gather to troubleshoot
ASP.NET Debugging
So now that I am done with all the individual posts, I thought I would wrap them all together. So here are all of the posts that I created on gathering information when you are having a problem. Please keep in mind that these are geared towards the type of information you would be sending to Microsoft...
on
21 May 2008
Blog Post:
ASP.NET Tips: What to gather to troubleshoot - part 6 - Recycle due to memoryLimit
ASP.NET Debugging
Here is another situation that you may come across and what to do in order to gather information about it. The following steps will configure DebugDiag to automatically capture a memory dump of the ASPNET_WP.exe process recycling when it exceeds the memoryLimit. This only applies to the ASPNET_WP...
on
20 May 2008
Blog Post:
ASP.NET Tips: What to gather to troubleshoot - part 5 - OutOfMemoryException
ASP.NET Debugging
So we already talked about what to gather when you are experiencing high memory . But what if you are actually getting a System.OutOfMemoryException? Here is how you capture a dump at the time you are running out of memory. The following steps will configure DebugDiag to automatically capture...
on
19 May 2008
Blog Post:
ASP.NET Tips: What to gather to troubleshoot - part 3a - Crash revisited
ASP.NET Debugging
In the previous post around capturing a dump for a crash, we were talking about using DebugDiag . But what if we can't use this tool. There are various reasons for this, maybe we don't want to have it installed on the server, or maybe we are trying to capture a 64-bit process (which DebugDiag...
on
15 May 2008
Blog Post:
ASP.NET Tips: What to gather to troubleshoot - part 4 - Deadlocks
ASP.NET Debugging
There are two ways to gather data in a Deadlock situation. If you are using Windows 2003 or later (IIS 6.0 or later), then follow the steps in the KB 828222 If you are using an older version of IIS, then follow the steps below: Before the issue occurs A. Download DebugDiag: ===================...
on
14 May 2008
Blog Post:
ASP.NET Tips: What to gather to troubleshoot – part 3 – Crash
ASP.NET Debugging
Defining an IIS Crash A Crash in IIS occurs when an IIS process (INETINFO.EXE, DLLHOST.EXE, W3WP.EXE) terminates unexpectedly. A Crash typically happens when there is an Unhandled Exception caused by an Access Violation, Stack Overflow, etc. In these situations, the operating system catches the exception...
on
6 May 2008
Blog Post:
ASP.NET Tips: What to gather to troubleshoot – part 2 – High Memory
ASP.NET Debugging
Identifying a Memory leak A Memory Leak in an IIS process (INETINFO.EXE, DLLHOST.EXE, W3WP.EXE) occurs when Memory Usage in Task Manager continues to consume more than 50% of the physical RAM until running out of system memory or until the process stops functioning. On heavily-used sites, a continuous...
on
5 May 2008
Blog Post:
ASP.NET Tips: What to gather to troubleshoot – part 1 – High CPU or Hang
ASP.NET Debugging
On machines running IIS5 and IIS5.1, these are the Inetinfo.exe, DLLHost.exe and/or ASPNET_WP.exe processes. On machines running IIS 6 or 7, this is the w3wp.exe process. The following steps will allow us to get log files of the processes hosting the IIS or ASP.NET applications, as well as obtain the...
on
2 May 2008
Blog Post:
ASP.NET Tips: Printing an IP Address
ASP.NET Debugging
So while looking through a dump, you will sometimes come across an IP Address. For example, the System.Net.IPAddress: If you look at this output, you can see that we have the address in the m_Address field, but what is 1895899146? This is where the function !printipaddress comes into play...
on
29 Apr 2008
Blog Post:
ASP.NET Tips: Looking at the finalization queue
ASP.NET Debugging
So in a previous post, we talked about Understanding when to use a Finalizer in your .NET class so now lets take a look at what the Finalize queue looks like and how to tell if things are bad. The command we use is !finalizequeue in sos: 0:010> !finalizequeue SyncBlock to be cleaned up: 86...
on
28 Apr 2008
Blog Post:
ASP.NET Tips: How to use DebugDiag to track down where a performance problem is coming from
ASP.NET Debugging
We recently had a case where the customer was having performance problems. They were seeing requests take a few minutes to return and didn’t know what was happening. So they took some dumps while the problem was happening. So we ran this dump through DebugDiag using the Crash/Hang script and looked at...
on
25 Apr 2008
Blog Post:
ASP.NET Tips: How to identify a COM call that is blocking GC, causing a memory leak
ASP.NET Debugging
Problem Description So this is a customer situation we found were the customer was getting an System.OutOfMemoryException. We were able to reproduce this with a console application that just ran: For Iterator = 0 To 99999999999 Regex.IsMatch(CONNECTION_STRING, "/S" ) 'Create a SQLConnection...
on
22 Apr 2008
Blog Post:
ASP.NET Tips: Debugger command you may not know about – clientconns
ASP.NET Debugging
Here is yet another command you may not be aware of. But it can be really helpful when you are troubleshooting many types of issues with IIS/ASP.NET. !clientconns is part of a debugger extension that ships with DebugDiag . In the directory where you installed DebugDiag there will be a subfolder...
on
14 Apr 2008
Blog Post:
ASP.NET Tips: Debugger command you may not know about - procinfo
ASP.NET Debugging
Here is another debugger command that you may not know about that is in the sos.dll file included with the debugger package for .NET 1.0 and .NET 1.1. !procinfo will print out the environment variables, CPU times and memory usage statistics. This can be very useful to checking to see where things...
on
12 Apr 2008
Blog Post:
ASP.NET Tips: Getting SOS to work when commands fail
ASP.NET Debugging
So the last quiz asked about a common error message you may see when debugging a dump from .NET on a machine other then where the dump was captured. Now I want to go into more detail on this. For a look at the quiz, check out POP QUIZ- SOS not loading properly . History of SOS loading So first...
on
9 Apr 2008
Blog Post:
ASP.NET Tips: How to capture a dump
ASP.NET Debugging
There are multiple ways to capture a dump. There are some examples discussed in my previous post, HOWTO- Capture a dump on a specific managed exception . You can just use DebugDiag to capture a dump. The easiest way in DebugDiag is to just click on the Processes tab, find the process...
on
6 Apr 2008
Blog Post:
ASP.NET Tips: Debugger command you may not know about - gcref
ASP.NET Debugging
During the course of debugging, often times you will find an object that you would like to know where it came from (who allocated the object). The first command you will want to run is !gcroot . But this command will only find the object if it is rooted on a thread or a global currently. ...
on
3 Apr 2008
Page 1 of 2 (31 items)
1
2