Suppose there is a C # program that is used as a Windows service. Suppose the service is pissed off and consumes the processor and memory as crazy. It needs to be restarted very soon, because it is a production system. Therefore, I have little time to collect information about the runtime. Maybe a quick look at the task manager ... at all.
After that, I have log4net log files and a Windows event log for post mortem analysis.
Suppose I figured out the cause of the problem. Someone else is fixing this, and maybe the programmer is adding some additional logging, so I can find a similar problem faster next time. However: I still rely on the quality of the log files and hope that next time the problem will somehow appear in the logs.
Are there other ways to analyze post mortem? Maybe something like stream dumps (like in java), memory dumps, or something else that might help in post mortem analysis? Maybe some built-in .NET framework tool can help?
I am very interested in the real experience of the project and how you will try to solve this service issue, which, in my opinion, is very real for most programmers.