Sometimes when you are triaging bugs, finding the solution is simple and other times it’s complex, luckily Loupe has both scenarios covered, and everything in between as well!
On a good day, looking at the event will give you a clear idea of what the error is and you can go ahead and create an issue and have a developer fix it…
Other days the debugging God’s are not on your side. When that happens it’s not immediately obvious what the problem is from the exception. Here we can see that a “Network Exception” was thrown, but we have no real clue as to what caused it:
On those occasions, drilling into the exception and clicking on “Other Session Events” will show you what happened in the same session as your exception, and that can provide you with the solution you seek:
In this case we can see that the “Network Exception” was probably caused by an over-worked Active Directory server called AD1. Knowing this we can pass it on to our DevOps guys to have a look at.
If we’ve really upset the debugging Gods, they may decide to smite us completely. When that happens, not only do we get no helpful information from the exception:
But drilling down into the “Other Session Events” doesn’t help us much either!
Here we can see that there is a warning about a packager version mismatch, but no clue as to how that relates to our NullReferenceException! In these circumstances, it’s time to pull out the big guns! By drilling into the event on the “Recent Events” page, we can then click on the “Open Session” button:
This will open the full log in Desktop Loupe:
From here we can see sever log entries regarding instances being unpacked from some kind of file, for many of them this process was successfully completed and they have no bearing on our exception. However, one of them (highlighted) was packaged using an obsolete version of the packager. This resulted in a packager warning being generated, the errant object not being instantiated and, thus, a NullReferenceException being thrown.
Drilling into that log message in Desktop Loupe, we can even see which line of what file the problem occurred, leading to a speedy fix for this troublesome exception.
This post has shown you the power behind the fine grained logging offered by Loupe and how it can be used to hunt down even the most tricky of exceptions.
That’s all for this post, ‘til next time, happy coding!
Rapidly diagnose each error in any .NET application with our new Web Log Viewer and Exception root cause analysis, new in Loupe 4.5. New integration with Azure Service Bus and Azure Search enables full Loupe functionality without any Virtual Servers in Azure. Read more
The recently reported Cloudflare vulnerability where fragments of secure, encrypted user data could be exposed to a third party does not affect Gibraltar Software even though we use Cloudflare because we only route static content through the Cloudflare proxy for acceleration. Read more
Back in January of 2016 we decided to completely transition out of our data centers and into the cloud. On Sunday we finally shut down the last cluster of our hardware. Read more for how we did it and whether we would do it all over again if we had... Read more