Я построил систему ведения журнала, которая сообщает непосредственно в мою базу данных ошибок, и она сообщает следующую информацию:
- Неидентифицируемая информация о компьютере и среде выполнения (например, версия Windows, некоторые региональные настройки, объем памяти, тип процессора и т. Д.)
- Stack-trace и информация о самом исключении
- Загруженные сборки, номера версий
- Загруженные dll-файлы, которые не являются сборками (вы новее знаете, когда dll, введенная Skype для обработки вызова горячей клавиши, может испортить вашу собственную программу)
Сначала появляется форма, в которой пользователь может просмотреть все, что должно быть отправлено, и при желании может идентифицировать себя + написать описание того, что он / она делал, когда возникла проблема. Если будет предоставлено электронное письмо, пользователь получит электронное письмо, чтобы отследить отчет об ошибке.
Вы должны стремиться сделать процесс регистрации как можно более ненавязчивым и достаточно подробным, чтобы вы могли хотя бы определить, с чего начать.
В настоящее время я создаю систему ведения журнала, которую можно включить для пользователей, которые сталкиваются с одной и той же проблемой несколько раз, где последние N элементов журнала могут быть присоединены к отчету об ошибках, который содержит такие вещи, как поток кода (вызовы методов , возвраты, исключения и т. д.).