Object Reference Errors in Real World Apps

My job title is always changing, but basically I review support incidents from L1/L2 and confirm that they are legit defects before passing them into the engineering queue.

Typically engineering is not happy with the level of detail support provides, and the customer is not happy with waiting for engineering to get to them. So I also have to check for any non-code solutions/workarounds before throwing them in the engineering queue.

The app runs on one application server and a varying number of Web servers delending on the customer. The most frustrating errors I see are some variant of object reference not set to an object, or object cannot be null. And I see quite a few. 🙁

I have access to the source code, .pdbs etc. But it's very time consuming to check out all that code, try to decide how low in the stack trace to start, and rebuild the assembly with extra logging written in.

Sometimes it isn't even possible to deploy my customized assembly on the customer's computer (or at least not until some maintenence window weeks away), so then I end up trying to set a breakpoint with DebugDiag which (after 5-6 tries) usually gives me a huge dump file to wrestle with in WinDbg.

Sometimes after all this I can figure out what the issue is (bad customer data, configuration related, etc.), and sometimes I have to escalate it as a real defect.

It would be nice if there a)Weren't these reference exceptions in the first place or b) the stack trace thrown when it happens actually included rhe variables and which was the offender.

Typically, it's a method with 4-5 params, and I have no idea which is null until I do some of the wackiness listed above.

Is the software just badly written with regards to error handling? Am I missing some awesome tool or shortcut in diagnosing these types of issues?

I can't believe these process is typical of anything at larger companies using a dotnet Web app.

by ImmodestCodpiece via /r/csharp

Leave a Reply