Last time I wrote about how I managed to incorporate HockeyApp into a new Visual Studio extension I’ve created. Well I published the updated extension a couple of days ago and HockeyApp is already paying dividends.
Here’s the info from HockeyApp at the time of writing:
29 Jul 2016, 10:15
26 Jul 2016, 21:54
HockeyApp can provide a way to deploy applications, but that isn’t relevant to Visual Studio extensions, which is why the ‘Downloads’ column is zero. So you can see there’s a bunch of crashes (aka exceptions) that my extension is experiencing. Now I’m pretty sure that these wouldn’t be really crashing Visual Studio, but they would be affecting how well the extension works.
There’s now a number of issues created in the Github repo for me to review:
- Fix crash in Microsoft.VisualStudio.Diagnostics.Common.Check.Throw[XT]
- Fix OverflowException in System.Convert.ToUInt32
- Fix AggregateException in Microsoft.CodeAnalysis.Workspace.CheckDocumentIsInCurrentSolution
- Fix AggregateException in Microsoft.CodeAnalysis.Workspace.CheckProjectIsInCurrentSolution
- Fix AggregateException in Microsoft.VisualStudio.Alm.Roslyn.Server.RemoteInterop.RemoteProjectInfo.ToProjectInfo
- Fix AggregateException in Microsoft.VisualStudio.Alm.Roslyn.Server.OutOfProcessWorkspaceServer.FindReference
- Fix AggregateException in System.IO.__Error.WinIOError
- Fix AggregateException in System.Threading.CancellationTokenSource.ThrowObjectDisposedException
- Fix crash in Microsoft.PowerToolsEx.BlockTagger.Implementation.CsharpVBBlockParser.<GetandParseSyntaxNodeAsync>d__1.MoveNext
- Fix XmlException in System.Xml.XmlTextReaderImpl.Throw
- Fix crash in System.Threading.Tasks.Dataflow.Internal.Common.InitializeStackTrace
- Fix AggregateException in JetBrains.Application.InterruptableActivityCookie.CheckAndThrow
A bit of work for me to do now Hopefully not too much - I suspect a few of can all be handled in a similar way. Interesting too to see all the different ways your own code can interact with other parts of both Visual Studio and other extensions!
Actually after a bit of investigation, I have a theory that most of these exceptions are nothing to do with me. When I configured HockeyApp, I used the RegisterDefaultUnobservedTaskExceptionHandler(). I suspect this was causing HockeyApp to capture any unobserved Task exception that happened in Visual Studio – not just relating to my extension. I guess if there was a way to get HockeyApp to include only those exceptions based on the extension's namespace that would be more useful.