Мне интересно, в каких полезных вещах разработчики вставляют пользовательскую потоковую структуру данных, которая может быть встроена в мини-дампы. MSDN описывает параметр для MiniDumpWriteDump как такового:
PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam
и описывает параметр таким образом:
UserStreamParam [в] Указателе на массив структур MINIDUMP_USER_STREAM_INFORMATION. Если значение этого параметра является НУЛЕВЫМ, никакая пользовательская информация не включена в файл мини-дампа.
Я рассматривал встраивание последних строк журнала n моей программы в пользовательском потоке, так как тестеры склонны не отправлять правильно отформатированные журналы со всеми ошибками все время.
Кроме того, я мог поместить аппаратные спецификации (память, ЦП, видео, и т.д.) в том разделе.
Для чего еще люди использовали пользовательский потоковый сегмент?
Мне нравится ваша идея включения исторической информации журнала. Однако, если минидамп создается в ответ на исключение определенного типа, кажется, что прекращение чтения файла журнала для включения в дамп не всегда может быть лучшим планом, поскольку стабильность системы может быть сомнительной.
Наш тип по умолчанию - MiniDumpWithFullMemory. В этом случае информация о пользовательском потоке не кажется особенно полезной в нашем приложении, потому что полная память включает почти все возможные биты информации, которые нам нужны (по крайней мере, пока). И нам также очень повезло с получением всех файлов журнала ошибок, когда люди присылают нам файл дампа.
Однако наши пользователи могут изменить тип с помощью параметра конфигурации. Я вижу, что с одним из меньших типов минидампа, информация о пользовательском потоке может быть очень полезной. Я никогда особо не задумывался об этом параметре функции минидампа, пока не увидел этот пост. У нас есть несколько структур в памяти с базовой информацией о конфигурации, которая будет бесценна в случаях, когда полный дамп памяти не создается. Кроме того, будет удобна структура, содержащая сведения о пользователе, который «вызвал» исключение. Мне придется подумать о добавлении нескольких из них, которые будут выгружены как пользовательские потоки.
исключение было бы удобно. Мне придется подумать о добавлении нескольких из них, которые будут выгружены как пользовательские потоки. исключение было бы удобно. Мне придется подумать о добавлении нескольких из них, которые будут выгружены как пользовательские потоки.Что может быть более полезным, чем заполнение дополнительной информации здесь, так это включение любых лог-файлов, которые вы генерируете с помощью WerRegisterFile.
.