debug ошибка, помогите -
Garsio - 26.10.2013
Добрый вечер, помогите пожалуйста
PHP Code:
[20:33:37] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
[20:33:37] [debug] Stack pointer (STK) is 0x5120CC, heap pointer (HEA) is 0x512614
[20:33:37] [debug] AMX 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
не, есть другой выход?, я не хочу быдлокод иметь...
|
Этот вопрос уже тут обсуждался и не раз, и насколько я понял в этом ничего страшного нет если вы увеличите размер стока. На счет быдлокода, тогда стоит пересмотреть функции и локальные переменные.
Re: debug ошибка, помогите -
Garsio - 26.10.2013
Компилятор:
PHP Code:
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
Header size: 15580 bytes
Code size: 2336436 bytes
Data size: 4761832 bytes
Stack/heap size: 16384 bytes; estimated max. usage: unknown, due 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
не, есть другой выход?, я не хочу быдлокод иметь...
|
Ты его уже имеешь.
А по теме: считай, когда выделяешь размер локальных переменных, и когда форматируешь. Точно не помню, вроде внутри функции можно выделять до 2000 - 4000 ячеек, если превысишь данное ограничение то будет предупреждение как у тебя.
Re: debug ошибка, помогите -
=KempeR= - 27.10.2013
Quote:
Originally Posted by Reim
Для начала тебе нужно рекурсию исправить
"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
Компилятор:
PHP Code:
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
Header size: 15580 bytes
Code size: 2336436 bytes
Data size: 4761832 bytes
Stack/heap size: 16384 bytes; estimated max. usage: unknown, due 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
#pragma dynamic
- как правильно указать число?
Спасибо всем, кто откликнулся 
|
2 в степени - будет правильно. Например
#pragma dynamic 4096 //8192//16384//32768//65536//131072//262144
Re: debug ошибка, помогите -
-Stranger- - 29.10.2013
Выше всё сказали. Лишь добавлю, что по умолчанию компилятор определяет размер стека равному 4096.