XrDebugNew.cpp

Материал из Моддинг трилогии S.T.A.L.K.E.R. - MODFAQ.RU | +TES/Fallout
Перейти к навигации Перейти к поиску

1 вариант

Expression    : fatal error
Function    : _out_of_memory
File        : E:\stalker\patch_1_0004\xrCore\xrDebugNew.cpp
Line        : 359
Description    : <no expression>
Arguments    : Out of memory. Memory request: 8192 K
Expression : error handler is invoked!
Function : handler_base
File : E:\stalker\sources\trunk\xrCore\xrDebugNew.cpp
Line : 753
Description : std: out of memory

Ошибка[1][2]

Вылет происходит из-за нехватки оперативной памяти.

Если Windows 32-битная, кол-во оперативной памяти, которое может использовать приложение (т.е. игра) ограничено до 2 ГБ.

Если Windows 64-битная - такого ограничения нет, и приложение может использовать столько памяти, сколько потребуется. Ограничения лишь в том, что:

  • оперативной памяти должно хватать физически, т.е. необходимое кол-во планок нужного размера, должно быть в наличии на материнской плате.
  • приложение должно быть 64-битным. Если оно 32-битное, кол-во используемой памяти будет ограничено до 4 ГБ.

Касаемо игр серии S.T.A.L.K.E.R., все приложения являются 32-битными

Решение[3]

OS 32-bit:

  • Посмотрите в полном логе вылета строчку:
* [win32]: free[65320 K], reserved[98608 K], committed[1933160 K]

Строчка committed[1933160 K] показывает, сколько игре требуется оперативной памяти (1,93 ГБ) для работы.

А [win32]: free[65320 K] сколько всего её может выделить Windows (65 Мб).

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

Если у компьютера кол-во ОЗУ 2 ГБ - добавить планку на ещё столько же. Больше 4 ГБ, 32-битная Windows все равно не сможет использовать, но зато теперь нужное кол-во памяти под приложение (1,93 ГБ) должно быть доступно.

Если и этого недостаточно, то лучший вариант - использовать 64-битную Windows.

OS 64-bit:

Это позволит игре использовать до 4 ГБ ОЗУ, вместо 2 ГБ.

Если 4 ГБ оперативной памяти будет недостаточно, и в строчке committed будет указано кол-во превышающее 4 ГБ - пробуйте понижать графические настройки игры, пока вылет не пропадет.

2 вариант

Expression : error handler is invoked!
Function : handler_base
File : E:\stalker\sources\trunk\xrCore\xrDebugNew.cpp
Line : 753
Description : application is aborting

Ошибка[4][5][6]

Данный вылет - это нечто вроде "универсального описания", по факту - просто "затычка".

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

Наиболее частая причина вылета — *.ogf модели (например, NPC) подключили *.omf (анимации) не от неё или под другой скелет.

Решение[7]

После кода вылета ниже строки stack trace: могут быть адреса. Например:

stack trace:

0023:07C562E5 xrGame.dll, CxIOFile::Scanf()

По ним можно попытаться хотя бы частично догадаться\выделить вылет среди других таких-же.

Но чаще всего там будет пусто, поэтому остаётся только "метод тыка", пока вылет не исчезнет:

  1. Обратите внимание на то, что изменяли в игре последний раз.
    Если вносили изменения не вы - обратитесь к тем, кто это делал.
  2. Поэтапно откатывайте изменения, пока вылет не исчезнет.
  3. Перепроверьте, то изменение, которое вызывало вылет и исправьте его.


Источники