Что такое общая ошибка защиты

From Wikipedia, the free encyclopedia

Error message in a white dialog box stating "UNRECOVERABLE APPLICATION ERROR: Terminating current application."

Generic error message for a general protection fault (Unrecoverable Application Error) in Windows 3.0

Error message for a general protection fault in Windows 3.1x

Example error message for a general protection fault in Windows 3.1x

A general protection fault (GPF) in the x86 instruction set architectures (ISAs) is a fault (a type of interrupt) initiated by ISA-defined protection mechanisms in response to an access violation caused by some running code, either in the kernel or a user program. The mechanism is first described in Intel manuals and datasheets for the Intel 80286 CPU, which was introduced in 1983; it is also described in section 9.8.13 in the Intel 80386 programmer’s reference manual from 1986. A general protection fault is implemented as an interrupt (vector number 13 (0Dh)). Some operating systems may also classify some exceptions not related to access violations, such as illegal opcode exceptions, as general protection faults, even though they have nothing to do with memory protection. If a CPU detects a protection violation, it stops executing the code and sends a GPF interrupt. In most cases, the operating system removes the failing process from the execution queue, signals the user, and continues executing other processes. If, however, the operating system fails to catch the general protection fault, i.e. another protection violation occurs before the operating system returns from the previous GPF interrupt, the CPU signals a double fault, stopping the operating system. If yet another failure (triple fault) occurs, the CPU is unable to recover; since 80286, the CPU enters a special halt state called «Shutdown», which can only be exited through a hardware reset. The IBM PC AT, the first PC-compatible system to contain an 80286, has hardware that detects the Shutdown state and automatically resets the CPU when it occurs. All descendants of the PC AT do the same, so in a PC, a triple fault causes an immediate system reset.

Specific behavior[edit]

In Microsoft Windows, the general protection fault presents with varied language, depending on product version:

In Unix and Linux, the errors are reported separately (e.g. segmentation fault for memory errors).

Memory errors[edit]

In memory errors, the faulting program accesses memory that it should not access. Examples include:

  • Attempting to write to a read-only portion of memory
  • Attempting to execute bytes in memory which are not designated as instructions
  • Attempting to read as data bytes in memory which are designated as instructions
  • Other miscellaneous conflicts between the designation of a part of memory and its use

However, many modern operating systems implement their memory access-control schemes via paging instead of segmentation, so it is often the case that invalid memory references in operating systems such as Windows are reported via page faults instead of general protection faults. Operating systems typically provide an abstraction layer (such as exception handling or signals) that hides whatever internal processor mechanism was used to raise a memory access error from a program, for the purposes of providing a standard interface for handling many different types of processor-generated error conditions.

In terms of the x86 architecture, general protection faults are specific to segmentation-based protection when it comes to memory accesses. However, general protection faults are still used to report other protection violations (aside from memory access violations) when paging is used, such as the use of instructions not accessible from the current privilege level (CPL).

While it is theoretically possible for an operating system to utilize both paging and segmentation, for the most part, common operating systems typically rely on paging for the bulk of their memory access control needs.

Privilege errors[edit]

There are some things on a computer which are reserved for the exclusive use of the operating system. If a program which is not part of the operating system attempts to use one of these features, it may cause a general protection fault.

Additionally, there are storage locations which are reserved both for the operating system and the processor itself. As a consequence of their reservation, they are read-only and an attempt to write data to them by an unprivileged program produces an error.

Technical causes for faults[edit]

General protection faults are raised by the processor when a protected instruction is encountered which exceeds the permission level of the currently executing task, either because a user-mode program is attempting a protected instruction, or because the operating system has issued a request which would put the processor into an undefined state.

General protection faults are caught and handled by modern operating systems. Generally, if the fault originated in a user-mode program, the user-mode program is terminated. If, however, the fault originated in a core system driver or the operating system itself, the operating system usually saves diagnostic information either to a file or to the screen and stops operating. It either restarts the computer or displays an error screen, such as a Blue Screen of Death or kernel panic.

Segment limits exceeded[edit]

Segment limits can be exceeded:

  • with code segment (CS), data segment (DS), or ES, FS, or GS (extra segment) registers; or
  • accessing descriptor tables such as the Global Descriptor Table (GDT), the Interrupt descriptor table (IDT) and the Local Descriptor Table (LDT).

Segment permissions violated[edit]

Segment permissions can be violated by:

  • jumping to non-executable segments
  • writing to code segments, or read only segments
  • reading execute-only segments

Segments illegally loaded[edit]

This can occur when:

  • a stack segment (SS) is loaded with a segment selector for a read only, executable, null segment, or segment with descriptor privilege not matching the current privilege in CS
  • a code segment (CS) loaded with a segment selector for a data, system, or null segment
  • SS, DS, ES, FS, or GS are segments loaded with a segment selector for a system segment
  • SS, DS, ES, FS, or GS are segments loaded with a segment selector for an execute-only code segment
  • accessing memory using DS, ES, FS, or GS registers, when they contain a null selector

Switching[edit]

Faults can occur in the task state segment (TSS) structure when:

  • switching to a busy task during a call or jump instruction
  • switching to an available task during an interrupt return (IRET) instruction
  • using a segment selector on a switch pointing to a TSS descriptor in the LDT[clarification needed]

Miscellaneous[edit]

Other causes of general protection faults are:

  • attempting to access an interrupt/exception handler from virtual 8086 mode when the handler’s code segment descriptor privilege level (DPL) is greater than zero
  • attempting to write a one into the reserved bits of CR4
  • attempting to execute privileged instructions when the current privilege level (CPL) is not zero
  • writing to a reserved bit in an MSR instruction
  • accessing a gate containing a null segment selector
  • executing a software interrupt when the CPL is greater than the DPL set for the interrupt gate
  • the segment selector in a call, interrupt or trap gate does not point to a code segment
  • violating privilege rules
  • enabling paging whilst disabling protection
  • referencing the interrupt descriptor table following an interrupt or exception that is not an interrupt, trap, or a task gate
  • Legacy SSE: Memory operand is not 16-byte aligned.

References[edit]

  1. ^ «Troubleshooting «Unrecoverable Application Error» in DrWatson». Support. Microsoft. 27 February 2014.

Further reading[edit]

  • Intel Architecture Software Developer’s Manual–Volume 3: System Programming

На чтение 12 мин. Просмотров 76 Опубликовано 29.04.2021

Borderlands – это просто потрясающий приключенческий шутер от первого лица, популярный своим мультяшным дизайном и множеством уникального оружия. Однако пользователи сообщают, что сообщение об ошибке «Общая ошибка защиты» появляется, как только они входят в игру и пытаются получить доступ к экрану главного меню.

К счастью, существует несколько различных полезных методов, которые можно использовать для простого решения проблемы. Мы нашли методы, которые помогли другим пользователям справиться с этой проблемой, и предоставили для них пошаговые инструкции. Обязательно ознакомьтесь с приведенными ниже методами и внимательно следуйте инструкциям.

Содержание

  1. Что вызывает общие Ошибка защиты в Borderlands?
  2. Решение 1. Сделайте исключение для игры в Защитник Windows (Безопасность Windows)
  3. Решение 2. Проверьте целостность файлов игры
  4. Решение 3. Обновите драйверы видеокарты до последней версии
  5. Решение 4. Используйте правильный графический процессор
  6. Решение 5: Настроить файлы DLL в папке установки игры
  7. Решение 6. Установите PhysX из папки установки игры
  8. Решение 7. Отключите полноэкранную оптимизацию
  9. Решение 8. Разрешите игру в брандмауэре

Что вызывает общие Ошибка защиты в Borderlands?

Существует довольно много разных и различных причин этой проблемы, которая появляется при игре в Borderlands на вашем ПК с Windows. Мы решили составить список причин, которые помогут вам выбрать свой сценарий. Как только вы узнаете случай, вы также узнаете, какой метод использовать для решения проблемы, и все станет проще! Ознакомьтесь со списком ниже!

  • Игра заблокирована вашим антивирусом или вашим брандмауэром – игра может быть заблокирована любым программным обеспечением безопасности, установленным на вашем компьютере. Это может помешать игре получить доступ к Интернету или некоторым файлам, расположенным на вашем компьютере. Убедитесь, что вы добавили исключение для него в свой антивирус или брандмауэр.
  • Файлы игры отсутствуют или повреждены . Если вы подозреваете, что установка вашей игры нарушена, вы Всегда можно проверить целостность файлов игры, если вы скачали игру через Steam. Это приведет к повторной загрузке отсутствующих файлов.
  • Проблемы с PhysX – если PhysX не установлен, так как вы пропустили его установку при установке игры, вам следует установить его сейчас . Кроме того, его DLL-файл может отсутствовать, но вы можете создать его самостоятельно и решить проблему!
  • Проблемы с видеокартой – игра должна работать с вашей основной графикой. card, и возможно, что панель управления NVIDIA назначила встроенную видеокарту исполняемому файлу игры. Кроме того, необходимо иметь последние версии драйверов, если вы хотите, чтобы игра работала без сбоев.

Решение 1. Сделайте исключение для игры в Защитник Windows (Безопасность Windows)

Многие пользователи сообщают, что игра должна быть разрешена в виде исключения в антивирусном средстве Защитника Windows. Если у вас установлен сторонний антивирус, вы также должны добавить в него исключение для игры. Шаги по добавлению исключений в других антивирусных инструментах отличаются, но посмотрите, как это сделать в Защитнике Windows.

  1. Посмотрите на свою панель задач (правая часть панели задач) и попробуйте найти щит . Возможно, вам потребуется щелкнуть направленную вверх стрелку, чтобы отобразить больше значков. Щелкните правой кнопкой мыши значок щита и выберите параметр Открыть панель безопасности , чтобы открыть Центр безопасности Windows .
  2. Кроме того, вы можно одновременно нажать клавиши Windows Key и I , чтобы открыть настройки Windows 10 . Найдите раздел Обновление и безопасность и щелкните его левой кнопкой мыши. Перейдите на вкладку Безопасность Windows внутри и нажмите кнопку Открыть безопасность Windows в правой части окна.

  1. Щелкните значок щита в левом вертикальном меню. Прокрутите до раздела Настройки защиты от вирусов и угроз и нажмите кнопку Управление настройками под ним.
  2. Прокрутите это окно вниз. снова, пока не дойдете до записи Исключения внутри и не нажмете Добавить или удалить исключения.

  1. Нажмите кнопку + рядом с Добавить исключение и выберите Папка из появившегося раскрывающегося меню. Должен открыться проводник, поэтому убедитесь, что вы нашли папку, в которую вы установили Borderlands. По умолчанию это должно быть:
 C:  Program Files (x86)  Steam  steamapps  common  Borderlands 
  1. Это тот случай, если вы установили игру через Steam. Убедитесь, что вы выбрали правильную папку, если вы выбрали другую во время установки. Выберите его и подтвердите все запросы, которые могут появиться. Снова откройте игру, чтобы проверить, сохраняется ли сообщение об ошибке «Общая ошибка защиты»!

Решение 2. Проверьте целостность файлов игры

Если некоторые важные файлы игры отсутствуют или повреждены, и если вы установили игру через Steam, вам следует использовать отличную функцию, предоставляемую Steam. Вы можете легко проверить целостность файлов игры. Это просканирует установочную папку игры на наличие файлов, которые отсутствуют или повреждены, и Steam повторно загрузит их. Для получения дополнительных сведений выполните следующие действия.

  1. Запустите клиент Steam на своем компьютере, дважды щелкнув ярлык Steam на рабочем столе. Если его там нет, просто нажмите меню «Пуск» или кнопку Search/Cortana и введите « Steam », чтобы открыть его клиент. Щелкните левой кнопкой мыши первый результат.

  1. После запуска клиента Steam открывается, перейдите на вкладку Библиотека в меню в верхней части окна и найдите запись Borderlands в списке установленных игр. Щелкните правой кнопкой мыши запись игры и выберите Свойства в появившемся контекстном меню..
  2. Перейдите на вкладку Локальные файлы в окне свойств и нажмите кнопку Проверить целостность файлов игры внутри.

  1. Дождитесь завершения процесса проверки и загрузки Steam некоторые недостающие файлы. Снова откройте игру и проверьте, появляется ли по-прежнему ошибка «Общая ошибка защиты».

Решение 3. Обновите драйверы видеокарты до последней версии

Драйверы видеокарты являются причиной множества различных проблем, возникающих в различных видеоиграх, и эта проблема не является исключением. Многие пользователи сообщают, что простая установка последних версий драйверов видеокарты позволила устранить «общую ошибку защиты» и предотвратить ее возникновение с тех пор. Выполните следующие действия, чтобы обновить драйверы!

  1. Перед тем, как начать что-либо еще, вам нужно будет удалить графический драйвер, который в настоящее время установлен на вашем компьютере. Одновременно нажмите клавиши Windows + R , чтобы открыть диалоговое окно «Выполнить». В текстовом поле «Открыть» введите « devmgmt. msc » и нажмите кнопку ОК, чтобы открыть Диспетчер устройств .

  1. Кроме того, вы можете щелкнуть меню «Пуск» или кнопку «Поиск». , введите « Диспетчер устройств » и щелкните первый доступный результат. Оказавшись внутри, разверните раздел Display Adapters , найдите свою видеокарту, щелкните ее правой кнопкой мыши и выберите Удалить устройство в появившемся контекстном меню.
  2. Подтвердите любые диалоговые окна или подсказки, которые могут появиться после того, как вы нажмете кнопку, чтобы удалить его.

  1. После этого откройте веб-браузер и посетите веб-сайт производителя видеокарты. Вот ссылки для графических драйверов NVIDIA, AMD и Intel! Введите все важные сведения о вашей игровой настройке и найдите доступные драйверы.
  2. Убедитесь, что вы выбрали самый последний из появившегося списка, и нажмите кнопку Загрузить . Запустите его исполняемый файл из папки Downloads и следуйте инструкциям на экране, чтобы установить его на свой компьютер.

  1. Снова откройте Borderlands и проверьте, появляется ли по-прежнему ошибка« Общая ошибка защиты »во время игры!

Решение 4. Используйте правильный графический процессор

Пользователи также сообщили, что ошибка возникла из-за того, что игра начала использовать встроенную видеокарту вместо набора микросхем NVIDIA.. Этот метод отлично подходит для пользователей NVIDIA! Вы можете легко решить проблему в Панели управления NVIDIA, поэтому обязательно следуйте инструкциям, которые мы подготовили ниже!

  1. Щелкните правой кнопкой мыши Рабочий стол и выберите Панель управления NVIDIA в появившемся контекстном меню. . Кроме того, вы можете найти Панель управления в меню «Пуск» или с помощью кнопки «Поиск/Кортана» и щелкнуть ее левой кнопкой мыши в списке результатов.

  1. Щелкните, чтобы установить для параметра Просмотр по значение Large или Маленькие значки и прокрутите, пока не дойдете до пункта Панель управления NVIDIA внутри. Щелкните левой кнопкой мыши, чтобы открыть его.
  2. Разверните раздел Настройки 3D в левом меню, нажав кнопку +, а затем нажмите Управление 3D Настройки . Перейдите в Настройки программы . В меню Выберите программу для настройки щелкните левой кнопкой мыши, чтобы открыть раскрывающееся меню, и выберите Borderlands из списка установленных вами программ.

  1. Найдите параметр Выбрать предпочтительный графический процессор для этой программы и щелкните, чтобы изменить этот параметр на Высокопроизводительный процессор NVIDIA . Нажмите кнопку «Применить» в нижней части окна и проверьте, появляется ли по-прежнему сообщение об ошибке «Общая ошибка защиты» во время игры в Borderlands.

Решение 5: Настроить файлы DLL в папке установки игры

Пользователь Steam опубликовал метод, в котором пользователь утверждает, что смог легко решить проблему, управляя определенными файлами DLL внутри игры. установочная папка. Этот метод должен быть простым в управлении, и многие пользователи утверждают, что приведенный ниже набор шагов – это все, что нужно для решения проблемы!

  1. Запустите Steam на своем компьютере, дважды щелкнув ярлык Steam на рабочем столе. Если его там нет, просто нажмите меню «Пуск» или кнопку «Поиск/Кортана» и введите «Steam», чтобы открыть его клиент. Щелкните левой кнопкой мыши первый результат.

  1. После запуска клиента Steam открывается, перейдите на вкладку Библиотека в меню вверху окна и найдите запись Borderlands в списке установленных игр. Щелкните правой кнопкой мыши запись игры и выберите Свойства в появившемся контекстном меню.
  2. Перейдите на вкладку Локальные файлы . в окне “Свойства” и нажмите кнопку Обзор локальных файлов внутри.

  1. В папке установки Borderlands откройте внутри папку Binaries . Найдите файл с именем« dll . ”, Щелкните его запись правой кнопкой мыши и выберите кнопку Копировать в появившемся контекстном меню.
  2. Используйте Ctrl + V или щелкните правой кнопкой мыши в любом месте той же папки и выберите Вставить в появившемся меню.

  1. Должен появиться файл с именем « cudart – Copy.dll ». Если появится диалоговое окно с запросом Чтобы заменить файл или создать копию, убедитесь, что вы выбрали создание копии.
  2. Щелкните правой кнопкой мыши только что созданную копию и выберите в меню пункт «Переименовать». Измените ее имя на « Physxcudart_20 » и нажмите Enter. Повторно откройте игру из Steam и проверьте, вылетает ли она по-прежнему с тем же кодом ошибки.
  3. ол>

    Решение 6. Установите PhysX из папки установки игры

    PhysX – это SDK промежуточного программного обеспечения физического движка, созданный NVIDIA, и его установщик необходимо установить вместе с игрой. Возможно, пользователи пропустили его установку или установка PhysX вышла из строя. В любом случае вы можете просто запустить установочный файл PhysX из установочной папки Borderlands и проверить, решает ли это проблему, с которой вы столкнулись!

    1. Выполните шаги 1 -3 из решения 5 выше, чтобы открыть папку установки Borderlands . Если вы не установили игру через Steam , вам может потребоваться найти папку вручную. Если на рабочем столе есть ярлык, щелкните его правой кнопкой мыши и выберите Открыть расположение файла в появившемся меню.
    2. Откройте Prerequisites внутри папки установки Borderlands и найдите файл PhysX_ xx.xx_SystemSoftware . Маленькие буквы «x» – это заполнители, которые определяют текущую версию установщика.

    1. Дважды щелкните этот файл, чтобы открыть его, и следуйте инструкциям, появляющимся на экране, для установки NVIDIA PhysX . Вернитесь в Steam Library , щелкните правой кнопкой мыши Borderlands в списке игр и выберите Play Game . Проверьте, появляется ли та же проблема!

    Решение 7. Отключите полноэкранную оптимизацию

    Этот метод – один из малоизвестных методов, который можно использовать для решения проблемы на вашем компьютере.. Тем не менее, многие пользователи сообщают, что отключение полноэкранной оптимизации действительно помогает им, когда ни один из вышеперечисленных методов не дает результатов, поэтому обязательно проверьте этот метод, выполнив шаги, подготовленные ниже!

    1. Вам нужно будет найти исполняемый файл Borderlands . Если вы не установили игру через Steam, она может быть на вашем рабочем столе , поэтому просто щелкните ее запись правой кнопкой мыши и выберите Свойства в меню, которое откроется.
    2. Если игра установлена ​​через Steam, вы должны сначала открыть клиент Steam. После этого перейдите на вкладку Библиотека , щелкните правой кнопкой мыши Borderlands в списке установленных игр и выберите Свойства . . Перейдите на вкладку Локальные файлы и нажмите Обзор локальных файлов.

    1. Внутри откройте папку Binaries и найдите исполняемый файл Borderlands. Щелкните его значок правой кнопкой мыши и выберите Свойства в появившемся контекстном меню.
    2. Перейдите на вкладку Совместимость в Окно свойств и установите флажок Настройки . Установите флажок рядом с параметром Отключить полноэкранную оптимизацию и нажмите кнопку ОК внизу, чтобы применить внесенные вами изменения.

    1. Запустите Borderlands из библиотеки Steam , щелкнув его запись правой кнопкой мыши и выбрав внутри вариант Play Game . Убедитесь, что во время игры по-прежнему появляется ошибка «Общая ошибка защиты».

    Решение 8. Разрешите игру в брандмауэре

    Менее известный факт об этой игре заключается в том, что для правильной работы ей необходимо постоянно быть подключенным к Интернету. Если вы пытаетесь запустить игру без активного подключения к Интернету, подключитесь к Интернету и проверьте, сохраняется ли проблема. Если вы подключены к Интернету и проблема не устранена, возможно, ваш брандмауэр блокирует соединение с игрой.

    Если у вас установлен сторонний брандмауэр, вам следует открыть его и найти Исключения/исключения. Если вы используете брандмауэр Защитника Windows, вы можете выполнить следующие действия!

    1. Откройте Панель управления , выполнив поиск в Меню “Пуск” . Вы также можете использовать комбинацию Windows Key + R , чтобы открыть окно «Выполнить» и ввести « control. exe » внутри, чтобы открыть его другим способом.

    1. Установите для параметра Просмотр по значение Большие или Маленькие значки и проверьте внизу списка наличие брандмауэра Защитника Windows
    2. . Щелкните левой кнопкой мыши, чтобы открыть этот набор настроек, и нажмите Разрешить приложение через кнопку брандмауэра Защитника Windows в левом меню нового окна.

    1. Нажмите кнопку Изменить настройки в верхней правой части окна, чтобы предоставить права администратора на внесение изменений. Игра может уже быть в списке Разрешенные приложения и функции , чтобы убедиться, что вы установили флажки рядом с столбцами Private и Public в окне.
    2. Если игры нет, нажмите кнопку Разрешить другое приложение внизу. Нажмите кнопку Обзор внутри и перейдите к установка игры ионная папка. По умолчанию для игр Steam это:
     C:  Program Files (x86)  Steam  steamapps  common  Borderlands  Binaries  Borderlands.exe 

    1. Выберите этот файл. Нажмите кнопку Типы сети и установите флажки рядом с Private и Public Нажмите Добавить , чтобы разрешить игру. Нажмите ОК, запустите игру и проверьте, перестает ли проблема появляться на вашем компьютере!
неисправность общей защиты

Нередко случается случайная ошибка GPF (общая ошибка защиты), вам не нужно устранять неполадки ошибок GPF, если они не происходят часто.

Содержание

  1. Удалить все временные файлы программы
  2. Запустите ScanDisk и Defrag
  3. Убедитесь, что на вашем компьютере доступно более 200 МБ
  4. Недавно установленное программное или аппаратное обеспечение
  5. Отключить внешний кеш
  6. Отключить управление питанием и заставки
  7. Проблема с операционной системой
  8. Плохая память или другие типы аппаратного сбоя

Удалить все временные файлы программы

Удалите все временные файлы, которые все еще находятся на жестком диске, из текущих или ранее запущенных программ.

Запустите ScanDisk и Defrag

Запустите ScanDisk и запустите Defrag на жестком диске, так как это может быть связано с тем, что на жестком диске может возникнуть проблема, приводящая к повреждению или недействительности файла подкачки или файлов данных.

Убедитесь, что на вашем компьютере доступно более 200 МБ

Если на вашем компьютере недостаточно места на жестком диске, ваш файл подкачки Windows не сможет увеличиться в размерах при необходимости. Такая ситуация может привести к тому, что программы будут чаще переключаться между памятью и жестким диском, что может привести к увеличению числа GPF.

Недавно установленное программное или аппаратное обеспечение

Если вы недавно установили новое программное или аппаратное обеспечение, удалите или переустановите это программное или аппаратное обеспечение, чтобы убедиться, что оно не вызывает ваших проблем.

Как исправить общую ошибку защиты

Отключить внешний кеш

Если ваш ЦП использует внешний кэш, временно отключите его, чтобы проверить, не вызывает ли оно ваши сообщения об ошибках GPF. Если эта опция доступна, ее можно отключить через настройку CMOS.

Если это решит вашу проблему, рекомендуется обратиться к производителю вашего компьютера, материнской платы или производителя процессора за дополнительными рекомендациями.

В некоторых случаях обновление BIOS, разработанное для этой проблемы, может также решить проблемы, связанные с кэшем.

Отключить управление питанием и заставки

Если вы получаете GPF, когда компьютер не используется в течение длительных периодов времени, отключите Управление питанием и заставки, чтобы они не вызывали вашу проблему.

Проблема с операционной системой

Файлы, связанные с Windows, могут вызвать общую ошибку защиты. Например, общая ошибка защиты с Explorer и KRNL386.EXE. Переустановите Windows, чтобы решить проблему с файлами, связанными с Windows.

Плохая память или другие типы аппаратного сбоя

Если вы выполнили все вышеперечисленные рекомендации и по-прежнему испытываете GPF, в вашем компьютере может быть неисправное или неисправное оборудование. Часто плохая память является основной причиной случайных GPF.

Ошибки General Protection Fault характерны только для компьютеров Windows. Обычно они возникают, когда программа пытается получить доступ и использовать часть памяти, которая используется другим процессом или программой. Другими словами, ошибка указывает на то, что определенная часть памяти недоступна.

Ошибки GPF также могут указывать на то, что программа пытается получить доступ к памяти, доступ к которой не авторизован. Проще говоря, вы имеете дело с проблемой нарушения памяти.

К сожалению, эти ошибки часто приводят к зависанию всей системы. В результате у пользователей не остается выбора, кроме как перезагрузить свои компьютеры. Похоже, что при играх часто возникают ошибки GPF. Очевидно, некоторые игры, такие как серия игр о Гарри Поттере, чаще вызывают ошибки GPF, чем другие игры.

Как исправить ошибки, связанные с общими сбоями защиты?

Удалить временные файлы

Временные файлы, хранящиеся на вашем компьютере, могут вызывать ошибки GPF, заставляя программы обращаться к другим частям памяти. Удалите временные файлы и проверьте, сохраняется ли ошибка. Самый быстрый способ сделать это — запустить Очистку диска.

  1. Тип ‘очистка диска‘В строке поиска Windows. Запуск Очистка диска.
  2. Выберите свой основной диск и отсканируйте его.
  3. Затем очистите следующие файлы:
    • Временные интернет файлы
    • Временные файлы
    • Файлы Центра обновления Windows
    • И любые другие файлы, которые вам больше не нужны.
  4. Перезагрузите компьютер.очистка диска свободное место на диске

Удалите ненужные файлы

Еще один способ освободить место на вашем компьютере — вручную удалить ненужные файлы и программы. Начните с видеофайлов, потому что они занимают много места для хранения. А затем удалите все остальные файлы, которые вам больше не нужны.

Запустите SFC и DISM

Поврежденные системные файлы могут время от времени вызывать ошибки GPF.

  1. Запустите командную строку от имени администратора.
  2. Выполните следующие команды и нажимайте Enter после каждой:
    • sfc / scannow
    • DISM / Онлайн / Очистка-Образ / CheckHealth
    • DISM / Онлайн / Очистка-Изображение / ScanHealth
    • DISM / Онлайн / Очистка-Образ / RestoreHealth
  3. Перезагрузите компьютер и проверьте, сохраняется ли ошибка.

Запустите программу в режиме совместимости

Запустите программу, вызвавшую эту ошибку, в режиме совместимости. Многим пользователям, столкнувшимся с ошибками GPF во время игры в видеоигры, удалось решить проблему, запустив проблемную игру в режиме совместимости.

Для этого щелкните правой кнопкой мыши программу, вызывающую ошибку, и нажмите Характеристики. Затем нажмите на Вкладка совместимости и отметьте вариант, который говорит Запустите эту программу в режиме совместимости. В раскрывающемся меню выберите Windows 7.запустить программу в режиме совместимости

И не забывайте обновлять драйверы. Загрузите последние версии драйверов с веб-сайта производителя вашего устройства.

A Общая ошибка защиты (GPF ) в x86 архитектуры набора команд (ISA) — это ошибка (тип прерывания ), инициированная определенными ISA механизмами защиты в ответ на нарушение доступа, вызванное каким-либо выполняющимся кодом, либо в ядре, либо в пользовательской программе. Механизм впервые описан в руководствах и технических данных Intel для ЦП Intel 80286, который был представлен в 1983 году; он также описан в разделе 9.8.13 справочного руководства программиста Intel 80386 от 1986 года. Общая ошибка защиты реализована как прерывание (вектор номер 13 (0Dh)). Некоторые операционные системы могут также классифицировать некоторые исключения, не связанные с нарушениями доступа, такие как недопустимые исключения opcode, как общие ошибки защиты, даже если они не имеют ничего общего с защитой памяти. Если ЦП обнаруживает нарушение защиты, он прекращает выполнение кода и отправляет прерывание GPF. В большинстве случаев операционная система удаляет отказавший процесс из очереди выполнения, сигнализирует пользователю и продолжает выполнение других процессов. Если, однако, операционная система не может уловить общий сбой защиты, то есть другое нарушение защиты происходит до того, как операционная система вернется из предыдущего прерывания GPF, ЦП сигнализирует двойной сбой, останавливая операционную систему. Если произойдет еще один сбой (тройной сбой ), ЦП не сможет восстановить; начиная с 80286, ЦП переходит в особое состояние остановки, называемое «Завершение работы», из которого можно выйти только с помощью аппаратного сброса. IBM PC AT, первая PC-совместимая система, содержащая 80286, имеет оборудование, которое определяет состояние выключения и автоматически сбрасывает CPU при его возникновении. Все потомки PC AT делают то же самое, поэтому в PC тройная ошибка вызывает немедленный сброс системы.

Содержание

  • 1 Особое поведение
  • 2 Ошибки памяти
  • 3 Ошибки привилегий
  • 4 Технические причины сбоев
    • 4.1 Превышены пределы сегмента
    • 4.2 Разрешения сегмента нарушены
    • 4.3 Сегменты незаконно загружено
    • 4.4 Переключение
    • 4.5 Разное
  • 5 Ссылки
  • 6 Дополнительная литература

Особое поведение

В Microsoft Windows общая ошибка защиты представлена ​​различными язык, в зависимости от версии продукта:

В Unix и Linux ошибки сообщаются отдельно (например, segmentation fault для ошибок памяти).

Ошибки памяти

При ошибках памяти вызывающая сбой программа обращается к памяти, к которой она не должна обращаться. Примеры включают:

  • Попытка записи в доступную только для чтения часть памяти
  • Попытку выполнить байтов в памяти, которые не обозначены как инструкции
  • Попытка чтения как байты данных в памяти, которые обозначаются как инструкции
  • Другие разные конфликты между обозначением части памяти и ее использованием

Однако многие современные операционные системы реализуют свои схемы управления доступом к памяти через подкачку вместо сегментация, поэтому часто бывает, что недопустимые ссылки на память в операционных системах, таких как Windows, сообщаются через ошибки страницы вместо общих ошибок защиты. Операционные системы обычно предоставляют уровень абстракции (такой как обработка исключений или сигналы), который скрывает любой внутренний механизм процессора, который использовался для вызова ошибки доступа к памяти из программы, с целью предоставления стандартного интерфейса для обработки множества различных типов генерируемых процессором условия ошибки.

С точки зрения архитектуры x86, общие сбои защиты относятся к защите на основе сегментации, когда дело касается доступа к памяти. Однако общие сбои защиты по-прежнему используются для сообщения о других нарушениях защиты (помимо нарушений доступа к памяти) при использовании подкачки, например, об использовании инструкций, недоступных с текущего уровня привилегий (CPL).

Хотя для операционной системы теоретически возможно использовать как разбиение на страницы, так и сегментацию, по большей части обычные операционные системы обычно полагаются на разбиение на страницы для большей части своих потребностей в управлении доступом к памяти.

Ошибки привилегий

На компьютере есть некоторые вещи, которые зарезервированы для исключительного использования операционной системы. Если программа, не являющаяся частью операционной системы, пытается использовать одну из этих функций, это может вызвать общий сбой защиты.

Кроме того, есть места хранения, которые зарезервированы как для операционной системы, так и для самого процессора. Вследствие их резервирования они доступны только для чтения, и попытка записать в них данные непривилегированной программой является ошибкой.

Технические причины сбоев

Сбои общей защиты вызываются процессором при обнаружении защищенной инструкции, превышающей уровень разрешений текущей выполняемой задачи, либо из-за попытки программы пользовательского режима защищенная инструкция, или потому что операционная система выдала запрос, который переводит процессор в неопределенное состояние.

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

превышены пределы сегмента

ограничения сегмента может быть превышено:

  • с сегментом кода (CS), сегментом данных (DS) или регистрами ES, FS или GS (дополнительный сегмент); или
  • доступ к таблицам дескрипторов, таким как глобальная таблица дескрипторов (GDT), таблица дескрипторов прерываний (IDT) и таблица локальных дескрипторов (LDT).

Нарушены разрешения для сегментов

Разрешения для сегментов могут быть нарушены:

  • переходом к неисполняемым сегментам
  • записью в сегменты кода или сегментами только для чтения
  • чтение сегментов только для выполнения

незаконно загруженных сегментов

Это может произойти, когда:

  • сегмент стека (SS) загружен с помощью селектора сегмента для исполняемого нулевого сегмента только для чтения, или сегмент с привилегией дескриптора, не соответствующей текущей привилегии в CS
  • , сегмент кода (CS), загруженный с помощью селектора сегмента для данных, системы или нулевого сегмента
  • SS, DS, ES, FS или GS — это сегменты, загруженные с помощью селектора сегмента для системного сегмента
  • SS, DS, ES, FS или GS — это сегменты, загруженные с помощью селектора сегмента для сегмента кода только для выполнения
  • доступ к памяти с использованием регистров DS, ES, FS или GS, когда они сохранить нулевой селектор

Переключение

Неисправности могут возникать в структуре сегмента состояния задачи (TSS), когда:

  • переключение на занятую задачу во время вызова или инструкции перехода
  • переключение на доступную задачу во время инструкции возврата из прерывания (IRET)
  • с использованием селектора сегмента на переключателе, указывающем на дескриптор TSS в LDT

Разное

Другие причины из общих ошибок защиты:

  • попытка доступа к обработчику прерывания / исключительной ситуации из виртуального режима 8086, когда дескриптор сегмента кода обработчика уровень привилегий (DPL) больше нуля
  • попытка записать единицу в зарезервированные биты CR4
  • попытка выполнить привилегированные инструкции, когда текущий уровень привилегий (CPL) не равен нулю
  • запись на зарезервированный бит в инструкции MSR
  • , обращающейся к шлюзу, содержащему селектор нулевого сегмента
  • , выполнение программного прерывания, когда CPL больше DPL, установленного для прерывания грамм ate
  • селектор сегмента в шлюзе вызова, прерывания или ловушки не указывает на сегмент кода
  • , нарушающий правила привилегий
  • , включающий пейджинг при отключении защиты
  • обращение к таблице дескрипторов прерываний после прерывания или исключения, которое не является прерыванием, ловушкой или шлюзом задачи
  • Legacy SSE : операнд памяти не выровнен по 16 байтам.

Ссылки

Дополнительная литература

  • Руководство разработчика программного обеспечения Intel Architecture — Том 3: Системное программирование

Возможно, вам также будет интересно:

  • Что такое общая ошибка ввода вывода
  • Что такое общая ошибка в принтере эпсон
  • Что такое общая ошибка 988
  • Что такое общая ошибка 952
  • Что такое общая ошибка 500

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии