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

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

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

  • @mocard Получилось?

  • 0 Votes
    15 Posts
    2065 Views
  • 0 Votes
    5 Posts
    917 Views
  • 0 Votes
    1 Posts
    623 Views
  • 0 Votes
    1 Posts
    312 Views
  • 0 Votes
    7 Posts
    1200 Views