Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Out of memory

Страниц (2): [1] 2 »
 

1. Adomb - 30 Марта, 2019 - 01:48:52 - перейти к сообщению
Над скриптом работаю давно. Ошибок не вылазит. Две недели почти круглосуточно вертится.
Переменные диалога инициализируются в функции, чтобы в начале скрипта не было простыни. Добавил одно условие связанное с флагом галки и добавил функцию где через sendgetweb ищу с php файла в сети определённое слово. Всё, при сборке началось - выскакивает out of memory. Если убираешь условие связанное с флагом галки - собирается. Возвращаешь и убираешь функцию - тоже собирается. А вместе нет. 2 дня пересматривал, анализировал скрипт. Бесполезно. В итоге на другом компе всё быстро собралось и работает без нареканий.
Компы - на одном 8 на другом 12 гигов памяти, процы интел, винда 10 установленная одновлеменно, программное наполнение одинаковое. Почему такое происходит?

UPD. Как здесь написал, вспомнил, что, давно было, собирал скрипт с textout смотреть вывод, а после textout удалял и Кибор вылетал при сборке. Возвращаешь textout на место - собирает. Удалял из папки с Кибором все файлы кроме апдейт и regs, а также папку temp - только тогда начинал собирать без textout. Сейчас сделал тоже самое и out of memory пропало, экзешник собрался. Как то замучено это.
2. Zireael - 30 Марта, 2019 - 01:59:11 - перейти к сообщению
Нужен код, в котором можно воспроизвести ошибку.
3. Adomb - 30 Марта, 2019 - 02:01:11 - перейти к сообщению
 Zireael пишет:
Нужен код, в котором можно воспроизвести ошибку.

Zireael, написал в первом посте как решилось.
4. Adomb - 04 Апреля, 2019 - 04:30:12 - перейти к сообщению
Могу опять услышать в ответ, что надо смотреть код. Но, может попробуем разобраться с проблемой без этого. Код больше 1000 строк, кто захочет копаться. Все действия происходят в функциях, которые вызываются если то-то то-то и это-это, в общем, в нужный момент. Начну с того - в коде могут быть ошибки. Допустим. Но какие ошибки? Точки с запятой, скобки, синтаксис (так это называется вроде) исключаем. Будем исходить из того, что таких ошибок нет. Всё проверено за 2 месяца до дыр. Так же и с объявлением переменных, с массивами и пр. Сделано всё по инструкции и каждая строчка проверена и перепроверена отдельно и в совокупе с другими. Если запустить, код работает исправно на протяжении более 2 суток, тестировался на все его возможности и успешно, без нареканий. Всё чётко, стабильно и без вываливаний. Теперь потребовалось добавить новый функции. Начинают происходить интересные вещи. Приведу пример. Есть несколько функций, которые создают файл. Мне понадобилось ещё одна.
Функция (Отобразить)

Начал собирать exe - Кибор вываливается без ошибок. Убрал другую функцию создания файла - собирается. Вернул - вываливается. Разделил уже новую функцию на 2 части.
Функции (Отобразить)

Только тогда экзешник собрался.
Дальше. Добавляю функцию которая принимает int, 3 штуки. Кибор вываливается (буду писать без "при сборе exe" и так понятно). Оставляю функцию пустой, приёмники int не убираю. Вываливается. Убираю приёмники. Собирается. Возвращаю int`ы, убираю из других функций приёмные int. Собирается. Причём, как в сообщающихся сосудах, одну штуку выше убрал, даёт собрать с одним приёмным int, ещё убрал , можно добавить второй. Пересмотрел весь код, нашёл приёмные инты которые принимали переменные глобальные. Вместо приёма переменных можно было сразу использовать глобальные переменные в функции. Зачем я так делал непонятно, но поправил, больше так делать не буду. После этого exe собрался с новой функцией. Дальше. Добавляю следующую функцию. Опять не собирается. Убрал external из основного кода в функции, где он нужен. Начал собираться. По прошествии времени опять добавляю пару функций - не собирается. Ну приплыли уже. Убрал блок ресурсов. Всё начало собираться замечательно, в том смысле, что очень быстро, за 15 секунд. Дописал код, без ресурсов запускается быстро и работает, экзешник собирается быстро. Добавляю обратно ресурсы (общий вес 600 кб, две базы, три bmp и три батника) - вылетает, хоть убей. В настройках выставил 1,5 гига памяти - exe в итоге начал собираться, но очень долго, минут по 20.
С учётом всего вышеописанного - это же ненормально, получается. И как побеждать?
5. Zireael - 04 Апреля, 2019 - 05:01:32 - перейти к сообщению
 Цитата:
И как побеждать?

Ответ тот же.
Поменяемся местами, у меня не работает код, я вам его не покажу, но скажите почему он не работает...
Не хотите сюда выкладывать код, который не собирается, скиньте админу в личку. Если конечно хотите найти решение проблемы.
6. konctantin777 - 22 Апреля, 2019 - 00:57:52 - перейти к сообщению
Тоже вопрос по этой ошибке. Бот просто искал 2 изображения- балл норм. Добавил ещё 3- теперь постоянно вылазит. На форуме есть, что надо настроить трансляцию, бывает из- за массивов и ошибок в скрипте. Сделал выд. память уже 500, шаг 100. Массивов, ничего нет- просто нашел картинку- действие мыши. Может быть что пауз нигде нет ? Вот бы по этой ошибке список по пунктам из- за чего может быть )
(Добавление)
Примерно через 10мин. появляется. Неважно нашел картинку- или нет.
7. Kibor - 22 Апреля, 2019 - 03:48:54 - перейти к сообщению
Трансляцию надо настраивать если ошибка во время получения скрина.
8. konctantin777 - 22 Апреля, 2019 - 06:05:15 - перейти к сообщению
А во время работы от чего может быть ? Иногда час работает, но чаще 10мин. Просто поиск картинки. Для теста сделал одинаковые условия т.е. ищет, но их нет.
(Добавление)
Когда картинки есть, находит, нажимает всё норм. Не понятна зависимость. Работает не в фоне. Отсутствие пауз в скрипте не влияет ?
9. Kibor - 22 Апреля, 2019 - 06:07:44 - перейти к сообщению
Если именно в функции findimage, то от перепутанных координат зоны.
Так же проверьте или при ненахожление не делает действия с координатами не найденного объекта.
10. konctantin777 - 22 Апреля, 2019 - 08:13:18 - перейти к сообщению
findimage всё по умолчанию кроме картинки и зоны откуда начинать sx, sy. Но они в самом начале объявлены
int sx=50;
int sy=50;

Powered by ExBB FM 1.0 Final