Half a year ago I wrote a blog post about debugging over email. This is a follow-up.
The blog post summarised:
Have an automated way to collect all usual informaion needed for debugging: versions, config and log files, etc.
Improve error messages so the users can solve their issues themselves.
Give users better automated diagnostics tools.
Based on further thinking and feedback, I add:
When a program notices a problem that may indicate a bug in it, it should collect the necessary information itself, automatically, in a way that the user just needs to send to the developers / support.
The primary goal should be to help people solve their own problems.
A secondary goal is to make the problem reproducible by the developers, or otherwise make it easy to fix bugs without access to the original system where the problem was manifested.
I've not written any code to help with this remote debugging, but it's something I will start experimenting with in the near future.
Further ideas welcome.