Мы используем Fogbugz для отслеживания проблем, и я нахожусь в процессе написания оболочки C ++ для XML API для Fogbugz .
Лучше всего использовать поле " scout ", чтобы подобные / одинаковые сбои просто учитывались, но не сообщались снова.Для этого нам нужна уникальная строка для конкретной причины сбоя.
В Win32 - после получения файла dmp или другого обработчика сбоя, что является хорошим способом сделать уникальную строку для сбоя?(мы собираемся создать файл dmp и отправить его на сервер fogbugz)
В предыдущих публикациях / статьях / и т. д. Джоэл делал различные предложения, но большинство из них рассчитывали на язык, такой как C #, который использует отражение иу вас есть много информации, которую трудно или невозможно получить.
Есть ли у других людей такие вещи, как следы стека или другие вещи, чтобы делать записи разведчика в fogbugz?
РЕДАКТИРОВАТЬ Вуточнить - нам не нужен уникальный идентификатор для каждого инцидента - есть вероятность сбоев с одинаковым путем кода.Мы хотим запечатлеть это.Я думал, что мы получим последние несколько вызовов стека, которые есть в нашем коде (а не из библиотек win32), но не уверен, как это сделать.
Неправильно сообщать о каждом сбое как об уникальном.Сообщать обо всех сбоях в одном и том же случае неправильноРазличные пользователи, повторяющие сценарий, вызывающий сбой, должны сопоставить один и тот же инцидент.
EDIT
Я думаю, что нам нужна общая "сигнатура" сбоя - в зависимости от того, что находится в стеке.Подобные стеки должны иметь одинаковую подпись.Например - возьмите 5 лучших методов, которые есть в нашем приложении, а затем первый вызов (если есть), который мы делаем в MS DLL.Этого, вероятно, будет достаточно для подписи и, скорее всего, будет коррелировать сбои, которые являются «одинаковыми».
Так как получить список методов в стеке?И как вы можете определить, являются ли они из вашего собственного приложения или из другой DLL?
РЕДАКТИРОВАТЬ - ПРИМЕЧАНИЕ. Мы хотим создать "идентификатор корзины" / подпись в обработчике исключений, чтобы мы могли создать мини-дамп иотправьте его в fogbugz в качестве описания разведчика.В качестве альтернативы мы можем загрузить дамп при следующем запуске приложения и затем отправить его с подписью, которую мы сгенерируем.