I am working on rewriting my unexpected error handling process, and I would like to ask the community:
What information do you capture both automatic, and manually, when software you have written crashes?
Right now, I capture a few items, some of which are:
Automatic:
- Name of app that crashed
- Version of app that crashed
- Stack trace
- Operating System version
- RAM used by the application
- Number of processors
- Screen shot: (Only on non-public applications)
- User name and contact information (from Active Directory)
Manual:
- What context is the user in (i.e.: what company, tech support call number, RA number, etc...)
- When did the user expect to happen? (Typical response: "Not to crash”)
- Steps to reproduce.
What other bits of information do you capture that helps you discover the true cause of an applications problem, especially given that most users simply mash the keyboard when asked to tell you what happened.
For the record I’m using C#, WPF and .NET version 4, but I don’t necessarily want to limit myself to those.
Related: http://stackoverflow.com/questions/1226671/what-to-collect-information-when-software-crashes