SA-MP Forums Archive
дебаг: вылез за пределы массива WTF?!! - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: дебаг: вылез за пределы массива WTF?!! (/showthread.php?tid=442249)



дебаг: вылез за пределы массива WTF?!! - x_O - 06.06.2013

Такая проблема, в логе иногда крашдетект выдает такое сообщение:

[debug] Run time error 4: "Array index out of bounds"
[debug] Accessing element at index 50 past array upper bound 46
[debug] AMX backtrace:
[debug] #0 001bb150 in ?? () from DM.amx
[debug] #1 000e76d0 in public Timer() from DM.amx

Что говорит о вылез за границы массива, у которого предел 46

В моде используется только один массив с таким пределом. И нигде ему не присваиваются динамичные значения, которые могли бы вылезти за предел

Пример:
pawn Код:
new Weapon[MAX_PLAYERS][47];

Weapon[playerid][1] = 1;
Weapon[playerid][24] = 1;

for(new i = 0; i < 47; i++) Weapon[playerid][i] = 0;
бывало и так [debug] Accessing element at index 52 past array upper bound 46

В таймере с этим массивом только проверки.

Из-за этого крешит таймер, и он не выполняет код, который идет ДАЖЕ ДО этих проверок


Это явление происходит не всегда. Скорее всего изза читеров или им подобных. Может в течение 5 секунд, а было на протяжение 10-20 минут!


Re: дебаг: вылез за пределы массива WTF?!! - XemyL - 06.06.2013

В папке pawno создай файл pawn.cfg и впиши туда -d3. После этого скомпиль мод и крашдетект покажет тебе строку...


Re: дебаг: вылез за пределы массива WTF?!! - x_O - 06.06.2013

Quote:
Originally Posted by XemyL
Посмотреть сообщение
В папке pawno создай файл pawn.cfg и впиши туда -d3. После этого скомпиль мод и крашдетект покажет тебе строку...
где он должен показать? при компиляции? ничего не показало. только теперь так стало:


Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

Header size: 10324 bytes
Code size: 2628556 bytes
Data size: 6805668 bytes
Stack/heap size: 24000 bytes; estimated max. usage: unknown, due to recursion
Total requirements: 9468548 bytes

без этого просто так

Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


Re: дебаг: вылез за пределы массива WTF?!! - XemyL - 06.06.2013

Quote:
Originally Posted by x_O
Посмотреть сообщение
где он должен показать? при компиляции? ничего не показало. только теперь так стало:


Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

Header size: 10324 bytes
Code size: 2628556 bytes
Data size: 6805668 bytes
Stack/heap size: 24000 bytes; estimated max. usage: unknown, due to recursion
Total requirements: 9468548 bytes

без этого просто так

Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
В логе сервера при краше, так же как и раньше.


Re: дебаг: вылез за пределы массива WTF?!! - x_O - 06.06.2013

Quote:
Originally Posted by XemyL
Посмотреть сообщение
В логе сервера при краше, так же как и раньше.
а то что появились эти цифры нече страшного?


Re: дебаг: вылез за пределы массива WTF?!! - XemyL - 06.06.2013

Quote:
Originally Posted by x_O
Посмотреть сообщение
а то что появились эти цифры нече страшного?
Всё нормально. Ты скомпилировал мод в Debug режиме.


Re: дебаг: вылез за пределы массива WTF?!! - vovalutsk - 21.06.2013

Там пишет какая строка. Когда выключается это норм.