Как я могу получить "идентификатор корзины", который использует winqual, если у меня есть файл минидампа или структура исключений?(Windows C ++) - PullRequest
4 голосов
/ 08 января 2011

Есть несколько связанных вопросов по SO - но не нашли ответа -

Я хотел бы сгенерировать "подпись" / идентификатор корзины, чтобы сообщить о мини-дампе / сбое обратно в нашу систему отслеживания ошибок. Поскольку MS уже делает это с "идентификаторами сегментов", я решил, что могу просто повторно использовать их генерацию сегментов / подписей.

Могу ли я получить этот идентификатор из фильтра верхнего уровня или объекта _EXCEPTION_POINTERS, который у меня есть внутри фильтра, или из структуры _MINIDUMP_EXCEPTION_INFORMATION, или из самого мини-дамп?

Это приложение на C ++.

Ответы [ 2 ]

4 голосов
/ 08 января 2011

Есть статья, рассказывающая о том, как ребята из Microsoft в первую очередь создают идентификатор корзины (и да, конечно, эта статья от Microsoft).Вам на самом деле не нужно реверсировать разработку точно такого же алгоритма группирования, который они используют.Это идея, которая работает.

Бумагу можно найти на http://www.sigops.org/sosp/sosp09/papers/glerum-sosp09.pdf Они также делают слайд, поскольку это бумага SIGOPS: http://www.sigops.org/sosp/sosp09/slides/glerum-slides-sosp09.pdf

3 голосов
/ 14 января 2011

Не уверен, какой идентификатор корзины вам нужен. Числовой идентификатор назначается сервером, и вы можете найти его после отправки отчета, просмотрев журнал событий. Найдите код события 1001 в журнале событий приложения.

Чтобы найти идентификатор сегмента в строковом формате, используйте windbg или cdb и используйте команду! Analysis.

Обратите внимание, что для фактического формирования группы вы, вероятно, захотите взглянуть на WATSON_STAGEONE_URL, а не BUCKET_ID.

...