Win32: Как сбой?
-
02-10-2019 - |
Вопрос
Я пытаюсь выяснить, где сохраняются отчеты об ошибках Windows; я ударил Отправлять На некоторых ранее сегодня, но я забыл, что хочу «смотреть детали», чтобы я мог осматривать память мини-начин.
Но я не могу найти, где они хранятся (и Google не знает).
Поэтому я хочу написать фиктивное приложение, которое будет сбой, показать диалог WER, позвольте мне нажать «Просмотреть детали», чтобы я мог добраться до папки, в которой сохранены дампы.
Как я могу схватить в Windows?
Редактировать: Причина, по которой я спрашиваю, это потому, что я пытался переполнить стек и с плавающей точкой, разделяющейся на ноль. Переполнение стека делает приложение исчезнуть, но не загорелось диалоговое окно WER. Отделение с плавающей точкой от нуля приводит к + инф, но не исключение, а без сбоя.
Решение
Должно быть хорошим началом:
int main(int argc, char* argv[])
{
char *pointer = NULL;
printf("crash please %s", *pointer);
return 0;
}
Другие советы
Вы, ребята, все это многословны! :-)
Вот компактный способ сделать это:
*((int*)0)=0;
Вы предполагаете, что свалки памяти все еще вокруг. Как только они будут отправлены, афаик свалки удаляются с машины.
Сами дампы должны быть расположены в% Temp% где-то.
Что касается разрушения, это не сложно, просто сделайте что-то, что вызывает SegFault.
Не уверены, будет ли это вызвать диалоговое окно отчеты об ошибках, но вы можете попробовать разделение на ноль.
void crash(void)
{
char* a = 0;
*a = 0;
}
Официально поддерживаемые способы вызвать аварию народы с целью: здесь можно найти:
http://msdn.microsoft.com/en-us/library/ff545484(v=vs.85).aspx.
В принципе:
С клавиатурами USB вы должны включить сбой клавиатуры в реестре. В реестре ключей HKEY_LOCAL_MACHINE SYSTEM CURTCONTROLSET SERVICES KBDHID Paraments, создайте значение с именем croubonctrlscroll, и установить его равным значением reg_dword 0x01.
Потом:
Вы должны перезапустить систему для этих параметров, чтобы вступить в силу.
После того, как это завершено, авария клавиатуры может быть инициирована с помощью следующей последовательности горячей клавиши: удерживайте верхнюю клавишу Ctrl и дважды нажмите клавишу блокировки прокрутки.
Нет необходимости программирования;) Никаких колесных переосмыслений здесь :)
Интересно знать, как выровнять окна. Но почему бы не посмотреть на
%allusersprofile%\Application Data\Microsoft\Dr Watson\
первый? Обратитесь к папкам в приложении конкретные папки CrashData, я нашел, например,
...\FirefoxPortable\Data\profile\minidumps\
а также
...\OpenOfficePortable\Data\settings\user\crashdata\.