You really need to be generating the pdb files and storing them in a symbol
server.  If you want to view the source code associated with it, store that
as well.  For every build you want to be able to debug.  I used to store it
for all builds, and clean up later, because internal builds sometimes
crashed in QA.

If you don't.... you'd better get good at reading x64 mnemonics... 😜

Mike

On Fri, 1 Sept 2023, 08:15 Greg Keogh via ozdotnet, <ozdotnet@ozdotnet.com>
wrote:

> 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*
> --
> ozdotnet mailing list
> To manage your subscription, access archives: https://codify.mailman3.com/
-- 
ozdotnet mailing list 
To manage your subscription, access archives: https://codify.mailman3.com/ 

Reply via email to