Kernel dumps are useful, but they do not always tell you everything you want to know about how you ended up in an error state.
Logging activities, inputs and events can be very helpful. If you can record every run of your program so that in the event of a failure, the developer can access the log and repair this error, it can be very useful.
If possible, you should create your programs with the maximum debug symbols generated, and then separate them if you do not want or cannot let your release versions have them, but keep a copy of each released version using debug symbols that you can connect to the main file if you need to debug a crash.
nategoose
source share