Вылетает 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)
    }
    

    А затем, после вылета откройте логи и увидите выполнение каких действий привело к вылету



  • Спасибо, попробую!


Log in to reply