Ok, I have a problem, and I'm not expecting an answer straight off. I need some help, bouncing ideas if anyone can spare the time. I find that talking about things like this can help come to a solution quicker, but I'm stuck for someone to talk to about it!
I have a .Net 2.0 Winforms program that runs on people's computers. It appears as a small Form, for instance, in the bottom right of their monitor, guiding them on what to do next in a sort of assessment type way. It is running constantly, monitoring their keystrokes and mouse clicks. It then compares what they have just done to a set of things that they have to do and if they do it right, then they get a score for that particular step and the program moves on to the next step to compare what you are doing.
Everything works fine for many many people. However, for one company that use it, the program freezes.
I have put in some debug logging to a text file, so that I can see what functions are being called and when, any exceptions that might be occurring. This doesn't have any pattern to it when the freeze occurrs.
I've checked Windows Event Logs, that just tells me the program froze. I've checked what programs they have running in the background and the resources that are available on the computer whilst it's running.
I've tried replicating on my machine and I can't.
OK, so obviously you're reading this and thinking, how the hell can I help? Well, tell me what you might look for or how you might approach it. There's way too much code to post here, as I can't pinpoint a specific area. There might be a tool that could be run on their computer for instance, they wouldn't mind me doing that from a remote session.
There are multiple threads occurring, and Mutexes being used along the way. It's possible that one is being locked and not released. I've updated the code to try and make sure this doesn't happen already.
I appreciate this is not a 'How do I order date times in a DataGridView' type question but any ideas would be most appreciated.
Julian
What I have tried:
Detailed debug log to text file
Checked Windows Event Logs
Updated code in possible problem area
Checked background resources + antivirus logs - to no avail