SA-MP Forums Archive
debug ошибка, помогите - 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: debug ошибка, помогите (/showthread.php?tid=472036)



debug ошибка, помогите - Garsio - 26.10.2013

Добрый вечер, помогите пожалуйста
PHP Code:
[20:33:37] [debugRun time error 3"Stack/heap collision (insufficient stack size)"
[20:33:37] [debug]  Stack pointer (STKis 0x5120CCheap pointer (HEAis 0x512614
[20:33:37] [debugAMX backtrace:
[
20:33:37] [debug#0 ???????? in public OnDialogResponse () 
OnDialogResponse
максимальный стринг srting[512]; - глобальная переменная


Re: debug ошибка, помогите - =KempeR= - 26.10.2013

Переполнение стэка. Увеличь размер стэка с помощью #pragma dynamic


Re: debug ошибка, помогите - Garsio - 26.10.2013

не, есть другой выход?, я не хочу быдлокод иметь...


Re: debug ошибка, помогите - Alexander_Petrov - 26.10.2013

Да ладно, не хочешь, не делай.


Re: debug ошибка, помогите - Ted67 - 26.10.2013

Quote:
Originally Posted by Garsio
View Post
не, есть другой выход?, я не хочу быдлокод иметь...
Этот вопрос уже тут обсуждался и не раз, и насколько я понял в этом ничего страшного нет если вы увеличите размер стока. На счет быдлокода, тогда стоит пересмотреть функции и локальные переменные.


Re: debug ошибка, помогите - Garsio - 26.10.2013

Компилятор:
PHP Code:
Pawn compiler 3.2.3664              Copyright (c1997-2006ITB CompuPhase
Header size
:          15580 bytes
Code size
:          2336436 bytes
Data size
:          4761832 bytes
Stack
/heap size:      16384 bytesestimated maxusageunknowndue to recursion
Total requirements
7130232 bytes 
Как я помню heap size не может быть больше 16364, как мне уменьшить?
Или как мне нужно поступить, что бы мод функционировал нормально


Re: debug ошибка, помогите - Reim - 26.10.2013

Для начала тебе нужно рекурсию исправить
"estimated max. usage: unknown, due to recursion"


Re: debug ошибка, помогите - James_Braga - 27.10.2013

Quote:
Originally Posted by Garsio
View Post
не, есть другой выход?, я не хочу быдлокод иметь...
Ты его уже имеешь.

А по теме: считай, когда выделяешь размер локальных переменных, и когда форматируешь. Точно не помню, вроде внутри функции можно выделять до 2000 - 4000 ячеек, если превысишь данное ограничение то будет предупреждение как у тебя.


Re: debug ошибка, помогите - =KempeR= - 27.10.2013

Quote:
Originally Posted by Reim
View Post
Для начала тебе нужно рекурсию исправить
"estimated max. usage: unknown, due to recursion"
Рекурсия может использоваться для сортировки массива, например. Зачем её исправлять в таком случае?


Re: debug ошибка, помогите - Garsio - 27.10.2013

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

Рекурсии в моде нет, проверял не однократно, ошибка из-за heap size


Re: debug ошибка, помогите - -Stranger- - 27.10.2013

Garsio, быдлокод? Значит вытащите из компа всю память и поставьте одну планку на 256 МБ, минимум для загрузки оси. Это равносильно будет.
Увеличения стека это почти необходимая процедура, особенно если занимаемся ресурсоёмкими задачами.


Re: debug ошибка, помогите - eakwarp - 27.10.2013

Quote:
Originally Posted by Garsio
View Post
Компилятор:
PHP Code:
Pawn compiler 3.2.3664              Copyright (c1997-2006ITB CompuPhase
Header size
:          15580 bytes
Code size
:          2336436 bytes
Data size
:          4761832 bytes
Stack
/heap size:      16384 bytesestimated maxusageunknowndue to recursion
Total requirements
7130232 bytes 
Как я помню heap size не может быть больше 16364, как мне уменьшить?
Или как мне нужно поступить, что бы мод функционировал нормально
Увеличение стека - обычная практика, нужно увеличить - увеличивай. Если вы видите в этом какой-то "быдлокод", то вы явно занимаетесь не тем, и вам стоит идти играться, и не тратить не свое, и не наше время.


Re: debug ошибка, помогите - Garsio - 27.10.2013

#pragma dynamic

- как правильно указать число?

Спасибо всем, кто откликнулся


Re: debug ошибка, помогите - eakwarp - 27.10.2013

Quote:
Originally Posted by Garsio
View Post
#pragma dynamic

- как правильно указать число?

Спасибо всем, кто откликнулся
2 в степени - будет правильно. Например
#pragma dynamic 4096 //8192//16384//32768//65536//131072//262144


Re: debug ошибка, помогите - -Stranger- - 29.10.2013

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