Вылетает BAS
-
Здравствуйте,
Есть пару проектов разных и они иногда вылетают.
Бас везде обновлен до последней версии.
Скомпилированная или в проекте программа просто закрывается без какой либо ошибки.
Поставил приблуду которая следит за процессом и перезапускает проект но это не дело.
Как я могу понять где именно крашится прога? есть ли какой то дебаг версия в которой можно запустить проект и отследить ошибку?
Спасибо!
-
@mocard said in Вылетает BAS:
Здравствуйте,
Есть пару проектов разных и они иногда вылетают.
Бас везде обновлен до последней версии.
Скомпилированная или в проекте программа просто закрывается без какой либо ошибки.
Поставил приблуду которая следит за процессом и перезапускает проект но это не дело.
Как я могу понять где именно крашится прога? есть ли какой то дебаг версия в которой можно запустить проект и отследить ошибку?
Спасибо!Вангую: У вас стоит тип запуска "Повторять"
-
Да! Повторять!
-
@mocard А надо особый, и 99999
-
Так особый имеет ограничения по выполнению и когда ставлю большое число всеравно автоматом ставится повторять.
Да и у меня в потоках вечный цикл в нутри стоит. То есть поток повторяется только тогда когда ошибка в нутри цикла.
Неужели это и есть решение? Будут еще советы?
-
@mocard said in Вылетает BAS:
Да! Повторять!
BAS вылетает из за бесконечных или очень больших циклов без задержки. Добавьте первым действием в проект "Сон" на одну секунду и увидите в чём проблема
@Dodok said in Вылетает BAS:
@mocard А надо особый, и 99999
Зачем?
-
Задержки есть! Яж говорю что крайне иногда закрывается.
-
@mocard said in Вылетает BAS:
Задержки есть! Яж говорю что крайне иногда закрывается.
Я отталкиваюсь от информации, которую вы предоставили. Повторюсь, интерфейс BAS зависает из за очень больших или бесконечных циклов, тип запуска "Повторять" тоже по сути бесконечный цикл. В результате у вас может возникнуть какая нибудь ошибка в логике скрипта, которая без задержки будет завершать поток, а BAS его снова запускать. А зависшее приложение операционная система может завершить автоматически сама.
Можете использовать лайфхак, создайте первым действием в скрипте действие "Выполнить код" с кодом:
_sa = function(id) { log(id) ScriptWorker.SetCurrentAction(id) }
А затем, после вылета откройте логи и увидите выполнение каких действий привело к вылету
-
Спасибо, попробую!