Прочитал главу и книги
"http://www.rsdn.ru/res/book/prog/Joel_On_Software.xml"
(Глава 19. Отчеты об авариях от пользователей — автоматически!)
Очень мне понравилась идея об уникальных кодах исключений
ID ошибки = (ExceptionName:FileName:99)v1.0.32
ExceptionName — имя исключения
FileName — файл где произошла ошибка
99 — строка в которой произошла ошибка
v1.0.32 — версия сборки
Даже не знаю с какой стороны подойти к FileName и строке. Есть идеи для C#?