Folks, it's Friday and I have an anecdote to share before I return to today's coding fiasco. I'll just tell you what happened and try to avoid making judgements, I'll leave that to you.
For about 4 years we've had an Azure hosted Web API/service driving a moderately complex Blazor app and some other smaller clients. The service hosted a C++ library that did the heavy lifting of generating cross-tabulation reports. The trouble was, that the service would randomly crash deep inside the C++ dll and it would leave no useful diagnostic evidence, usually just a hint about some kind of memory access violation. It would never crash in testing, only in Azure. I presume here is a way to diagnose this sort of crash in Azure hosting, but you probably need the minidump and symbol files out of the C++ compile, I'm not exactly sure, as I just couldn't face the toil, and by great luck it was due for replacement anyway. Some very large US companies were suffering from the crash interruptions and there was a serious risk that we could lose their business.
The lucky part is that the huge C++ codebase was already being rewritten in C#, so we went into a frenzy of continued conversion and testing, and the C# replacement is now about 90% rolled-out. and guess what?! ... The random crashes are gone and one customer even sent us a message of thanks for the new reliability.
We did have a few small unhandled exceptions, but I simply went to the Azure portal logs and the stack trace pointed us straight to the problem point. We could usually publish a fix within half an hour.
So years of random C++ crashes were completely cured by a C# rewrite.
Greg K
--