Что нового

Скрипты "вылетают" (прекращают работу) без сообщений об ошибках

Крепыш

Новичок
Сообщения
105
Репутация
2
Давно обратил внимание, что скомпилированные скрипты, написанные на AutoIt и предназначенные висеть в фоне весь день, часто до конца дня не доживают: просто вылетают незаметно в течение дня без каких либо уведомлений об ошибках.
Кто-нибудь сталкивался с подобным? Как определить причину вылетов? И как с этим бороться?
Как пример, вот этот скрипт: http://autoit-script.ru/index.php?topic=17711.msg107770#msg107770
 

agikon

Знающий
Сообщения
789
Репутация
17
что консоль SciTE пишет?
ибо я так понял что когда говорите что не пишет ошибок то имеете ввиду просто окошко с ошибкой, или как?
ибо консоль по-любому должна писать причину.

а если консоль ничего не пишет, то наверно надо искать причину в виндовсе или в железе, например переполнение памяти и прочее.
в таком случае не плохо бы поганять скрипты на другой машине.
 
Автор
К

Крепыш

Новичок
Сообщения
105
Репутация
2
Никаких ошибок вообще. И в консоли тоже.
Но я не крутил скрипт в консоли весь день. Просто протестировал - работает.
Скомпилировал, добавил в автозагрузку - работает. Через некоторое время смотрю в трее - нет его.
 

oesoes

xor eax,eax
Сообщения
171
Репутация
9
Да тут не одна причина может быть. От логической ошибки, которая не могла быть найдена на этапе компиляции, до нехватки памяти. Логические ошибки часто присутствуют в циклах, как например выход за границы массивов итд... Проверьте циклы, уверен - разберетесь с проблемой. А можно и правда, через scite на денек поставить.
 

agikon

Знающий
Сообщения
789
Репутация
17
Крепыш [?]
я не крутил скрипт в консоли весь день
так прокрутите.



Добавлено:
Сообщение автоматически объединено:

Крепыш [?]
И в консоли тоже.
компиляция без ошибок ещё не гарантирует что в коде нет ошибки которая приведёт к вылету скрипта.
как сказал oesoes ошибка может быть в каком то цикле который задействуется со временем и т.д.
я с таким уже сталкивался.
 
Автор
К

Крепыш

Новичок
Сообщения
105
Репутация
2
Выяснил причину остановки скрипта:
Скрипт был добавлен в планировщик заданий на запуск при входе в систему. При отключении ноута от питания планировщик вырубил скрипт и оставил запись в журнале:
Планировщик заданий остановил экземпляр "{63867f11-ea61-4095-b170-602e9ef48c3a}" задачи в связи с переключением компьютера на питание от батарей.
На такое поведение влияет выделенная галка.
Галка не активна. Где логика?

123c1173fb22.png

Свойства задания Windows 8
 

oesoes

xor eax,eax
Сообщения
171
Репутация
9
Отметить "запускать только при наличии питания от сети", снять "останавливать при переходе...", снять "запускать только при наличии питания от сети". Галка-то по сути один фиг стоит.
 
Автор
К

Крепыш

Новичок
Сообщения
105
Репутация
2
oesoes сказал(а):
Отметить "запускать только при наличии питания от сети", снять "останавливать при переходе...", снять "запускать только при наличии питания от сети". Галка-то по сути один фиг стоит.

Да это я уж сделал. Вот тестирую со снятой галкой.
Хотя думаю, мож по-старинке в автозагрузку поместить для надёжности.
 

oesoes

xor eax,eax
Сообщения
171
Репутация
9
Я вообще планировщик всегда отключаю, бестолковый он. Есть у меня для таких вещей nncron.
 
Верх