Page 1 of 1

Как быстро и правильно найти ошибку в скрипте? (Ваши методы)

Posted: 2009-01-23 23:20:07
by ADEPT_ABP
Я собственно к чему всё это спрашиваю. Бывает напишешь скрипт и всё вроде правильно ошибок(синтасических) нет. Но вот что-то ускользает от внимания, и портит радость от осознания собственной значимости. :mrgreen:
Пример:
Мининг копает, всё хорошо, но до первого сейва. И стоит всю ночь медитирует. :)

Ещё пример:
Юзает ЕвалИнт, потом СпиритСпик, и появляется надпись "Вы проголодались" - всё скрипт работает, но ни Евал, ни Спирит не юзаются.

Но бывает и такое:
Указываешь переменные допустим тип лога\ингота и цвет
подставляешь их в uo.count(type,color), а инжект выдаёт
"Runtime error" или "*что-то с пременной*".

Знающие люди поделитесь рецептом. :!: :!: :!:

Posted: 2009-01-23 23:47:03
by Grin
1. Опыт
2. Опыт
3. Опыт
4. Принты, больше информативности от скрипта, где он и в какую часть переходит и где крутится.

Posted: 2009-01-24 06:44:06
by admir
как правило учишься на собственных ошибках. И используешь собственные наработки.

Posted: 2009-01-24 10:06:18
by Savage
Принты с метками, типа вошёл в цикл, вышел.
Принты со значением переменных.
Чтобы проще было их выключать или удалять. Принты не подчиняются общему форматированию скрипта и прижаты к левой части экрана.

Posted: 2009-01-24 10:19:32
by Savage
Сразу целиком скрипты не пишу. Сначала делаю ядро. То есть если это ламбер, то ядро рубит дерево по ласттайлу до окончания логов. С таким огрызком гоняю пока не надоест рубить руками. Соответственно правятся сообщения и реакция на события. Далее на ядро навешивается цикл и пристёгиваю дополнительные модули, ходилку, разгрузку, загрузку.
Чтобы по возможности минимизировать глюки скриптового модуля, сложные скрипты выношу в отдельный файл на период тэстирования. Потом можно пихнуть готовое изделие в автолоад.