Troubleshooting Event ID 5010 — IIS Application Pool Availability

With this event you will get a message stating, “A process serving application pool ‘%1’ failed to respond to a ping. The process id was ‘%2’.”  When an Event ID 5010  appears in your system log and WAS is the source, you can be assured of two things.  The first is that a worker process…

4

Caller Information – a new concept in Visual Studio 2012

With the recent release of Visual Studio 2012, there are many new features and updates to explore.  One of the new features is the concept of Caller Information, available in both C# and VB.  Caller Information allows you to obtain certain information about the caller to a method.  More specifically, it allows you to get…

3

Exploratory Testing in Visual Studio 2012

With the recent release of Visual Studio 2012, there are many new features and updates to explore.  One of the new features is Exploratory Testing, which allows you to test your software without a pre-defined test or script.  It’s perfect for simply “exploring” your application to see what issues you may encounter.  Exploratory Testing comes…

3

Using DebugDiag’s LeakTrack with ProcDump’s Reflected Process Dumps

DebugDiag and Procdump are two of my favorite tools.  They’re both incredibly useful and I rely on them heavily to gather MemoryDumps when debugging production issues.  They have a myriad of overlapping features, but they each have (at least) one feature that makes them stand apart from each other: DebugDiag has the LeakTrack feature.  This…

1

The Art of Guessing

Often when debugging, we’re presented with a problem scenario where our application specific knowledge is limited.  This could mean we don’t have access to the source code or even that we do have access to the source code but simply don’t have time to read millions of lines of code to completely grasp the situation…

2

PInvoke Error in .NET 4: Array size control parameter index is out of range

So in a code-base I was working in yesterday, we use PInvoke to call out to the Performance Data Helper (PDH) API’s to collect performance information for machines without using Perfmon.  One of those PInvoke calls looked like this: /* PDH_STATUS PdhExpandCounterPath( LPCTSTR szWildCardPath, LPTSTR mszExpandedPathList, LPDWORD pcchPathListLength ); */ [DllImport("pdh.dll", CharSet = CharSet.Unicode)] private…


Starting a new Chapter in the Career of Mike Huguet

A couple of months ago an opportunity unexpectedly made its way into my life that would offer something different for my career.  At first I ignored it, but after a while I started thinking about the possibilities before me.  There were a couple of job openings at this “little” company, which you may have heard…


Research for the Week-Memory Management Part 1

Do you know what happens when you create a new instance of a class?  Why do we need a value type and a reference type?  Do you know what is meant when the .NET framework is referred to as a “managed” platform?  What is managed versus unmanaged code?  Why do we need a .NET runtime? …


Research for the Week–How IIS Works

In the world of custom web application development a critical component of our success is the hosting environment and services.  We can choose to deploy our web applications using 3rd party hosting providers such as GoDaddy.com, Rackspace, DiscountASP.NET, or another provider, or we can choose to deploy to on premise servers either virtual or physical. …


Getting more information from the Word error box when troubleshooting OpenXML / WordML issues

So, many apologies for dropping off the face of the blogosphere lately.  Fortunately (or unfortunately, depending on your perspective), I’ve been really busy at work.  I’ve been working on some really cool things that I hope I’ll be able to talk about publicly soon.  For now, though, I wanted to pass on something that I…