Hi
I'm starting a new project, a end-user desktop application. I'm a concerned about what will happened if (ok, when) the end-user gets an unhandled exception. Asking the user to help me reproduce the bug is not an acceptable option. As I see it I'm left with one option: to upload an error report to my server.
Years ago when I were a Delphi developer, a great tool called madExcept could help me with all this, but I cannot find a similar tool on the .Net framework. So I guess I have to make my own.
Here is my idea
Use a log-framework and write a few well thought log entries, not too many or few. Just log to memory, better performance and I don't need the file. Limit the log size to say 100KB.
Use AOP to log parameters and return values on all methods, except those in a tight loop as it will clutter the log and cause bad performance. This is the point I'm really insecure about, is this a stupid thing to do in production? The benefit seems very appealing though. I think I should be able to reproduce the exception in a lot more cases, than having just a stack trace and a log. Also this will logged to a memory and limited to something like 200KB.
Catch all unhandled exceptions, here I will upload the two logs and stack trace to my server.
What do you think will it work? Is there a better way?
Thanks