XrDebugNew.cpp: различия между версиями

Материал из Моддинг трилогии S.T.A.L.K.E.R. - MODFAQ.RU | +TES/Fallout
Перейти к навигации Перейти к поиску
Новая страница: «__NOTOC__ <pre> Expression : fatal error Function : _out_of_memory File : E:\stalker\patch_1_0004\xrCore\xrDebugNew.cpp Line : 359 Description…»
 
Нет описания правки
Строка 1: Строка 1:
__NOTOC__
__NOTOC__
== 1 вариант ==
<pre>
<pre>
Expression    : fatal error
Expression    : fatal error
Строка 44: Строка 45:


Если 4 ГБ оперативной памяти будет недостаточно, и в строчке <code>committed</code> будет указано кол-во превышающее 4 ГБ - пробуйте понижать графические настройки игры, пока вылет не пропадет.
Если 4 ГБ оперативной памяти будет недостаточно, и в строчке <code>committed</code> будет указано кол-во превышающее 4 ГБ - пробуйте понижать графические настройки игры, пока вылет не пропадет.
== 2 вариант ==
<pre>
Expression : error handler is invoked!
Function : handler_base
File : E:\stalker\sources\trunk\xrCore\xrDebugNew.cpp
Line : 753
Description : application is aborting
</pre>
=== Ошибка<ref>[https://www.gameru.net/forum/index.php?s=&showtopic=39668&view=findpost&p=1272782 Пост пользователя "Shoкer" на форуме Gameinator]</ref><ref>[http://ap-pro.ru/forum/100-775-181733-16-1333136958 Пост пользователя "TIGERR" на форуме AP Production]</ref><ref>[http://www.amk-team.ru/forum/topic/12730-spravochnik-vyletov/?p=788282 Пост пользователя "Sin!" на AMK форуме]</ref> ===
Данный вылет - это нечто вроде "универсального описания", по факту - просто "затычка".
Происходит при нестандартной ошибке, полноценное отслеживание которой, разработчиками не было предусмотрено. А в иных случаях вылетает без лога.
Наиболее частая причина вылета — [[*.ogf]] модели (например, NPC) подключили [[*.omf]] (анимации) не от неё или под другой скелет.
=== Решение<ref>[http://www.amk-team.ru/forum/topic/13415-masterskaia-po-razboru-vyletov-x-ray/?p=1076165 Пост пользователя "aka_sektor" на AMK форуме]</ref> ===
После кода вылета ниже строки <code>stack trace:</code> могут быть адреса. Например:
<pre>
stack trace:
0023:07C562E5 xrGame.dll, CxIOFile::Scanf()
</pre>
По ним можно попытаться хотя бы частично догадаться\выделить вылет среди других таких-же.
Но чаще всего там будет пусто, поэтому остаётся только "метод тыка", пока вылет не исчезнет:
# Обратите внимание на то, что изменяли в игре последний раз.<br>Если вносили изменения не вы - обратитесь к тем, кто это делал.
# Поэтапно откатывайте изменения, пока вылет не исчезнет.
# Перепроверьте, то изменение, которое вызывало вылет и исправьте его.




== Источники ==
== Источники ==
{{References}}
{{Reflist|3}}


[[Категория:Справочник_вылетов]]
[[Категория:Справочник_вылетов]]

Версия от 22:05, 26 февраля 2019

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. Перепроверьте, то изменение, которое вызывало вылет и исправьте его.


Источники