Нестабильность среды PascalABC.NET

Ну, у меня этот флаг всегда включён, но бывает что я долго пишу без компиляции, если бы не Ctrl+S и не аккумулятор ноутбука - я бы много так терял. Не все на ноутбуках программируют, а обучать использовать Ctrl+S через потерю кода - как то жестоко. Так что это никакое не замазывание.

Что касается вылетов - в чём проблема поставить глобальный try except для каждого потока и каждое полученное исключение выводить в формате внутренней ошибки (с прикреплённой доп. информацией и т.п.)? Это лучше чем плавающие ошибки пытаться ловить по описанию, полученному через испорченный телефон.

Да, Notepad++ открывает новые несохраненные непустые документы, а вот с AkelPad я поспешил, при закрытии он запрашивает сохранение.

А настроить автосохранение по времени небогемно? :sunglasses: Кстати, от выключения света внезапного есть гомеопатическое средство - нужно играть в серьезные компьютерные игры. Где если ты пошел с группой в рейд и тебя выкидывает постоянно, следующий раз просто не возьмут. Прекрасный стимул купить UPS. :rofl:

Я вот давно уже купил…

1 лайк

Вы правы. Так другим проще читать Ваш код.

Это непонятно. Хорошо бы скриншот. А другие программы при этом можно редактировать? Или ИДЕ виснет?

Когда ИДЕ просто закрывается - не сталкивался вообще.

И все таки сколько раз в месяц происходит первая и вторая ошибка?

Я вот склонен полагать, что на оболочку и запущенные ею программы может влиять антивирус. Тогда конечно все будет рубиться. Я из за этого деинсталлировал антивирус 360 - он вообще все рубил, редой пользоваться было нельзя, вылазили чудовищные ошибки.

Какая у Вас ОС и какой антивирус?

Первый случай. Нельзя другие редактировать пока окно с выбором висит, нужно выбор сделать закрыть среду или продолжить работу. Даже если сделать выбор “продолжить работу” то редактировать ничего сразу нельзя. Текущий код висит (и вся среда тоже) и завершить этот код удается только через ПКМ по табу с названием (например Program1.pas) >> контекстное меню >> закрыть. После этого разблокируется IDE. Второй случай. Там тоже вылазит какое-то окно с ошибкой, но при этом выбарть уже ничего нельзя и через несколько секунд вся среда закрывается. Сделаю скриншоты в следующий раз. Это не раз в месяц, это почти каждый день иногда по нескольку раз в день. Windwos 8.1-64. Антивирус стандартный защитник майкрософт, но даже его я выключил. Так что вообще нет никаких. %D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA

1 лайк

Несколько раз в день - это невозможно работать. Эту проблему надо срочно находить.

Нельзя ли попытаться понять, при каких условиях это происходит - при активной работе или в режиме простоя?

Ещё иногда бывает так, что после открытия какого-нибудь файла в IDE(при этом она запускается), среда виснет если начать писать код, хотя никаких признаков незавершённой загрузки нет.

Да, я знаю. У нас там не все гладко с потоками. Но это крайне редкая ситуация когда система только загружается, а ты при этом успеваешь открыть пару файлов и начать набирать текст.

Это не имеет ничего общего с зависаниями и закрываниями, которые трудно поймать и которые у кого то не возникают, а у кого то каждый день

Не такая уж и редкая, если среда запускается автоматом через файловую ассоциацию и ты пытаешься править код, как только он открылся.

Может быть имеет смысл выкладывать тут для поиска таких багов спец. версию среды и компилятора, откомпилированную в дебаг варианте с доп. асертами и детализированным лог-файлом, пишущим прямо на диск и/или даже в виндозный эвент-лог? На релизной версии ведь такие плавающие баги никак не поймать…

4 лайка

всеми руками, ногами, и остальным - за.

1 лайк

Отличная идея

1 лайк

Спасибо за уточнение :wink: Кстати, это тоже происходит по несколько раз за день из-за того, что среда рушится при замене dll, на которую ссылается код, приходится перезагружать и…

Да, а ещё, в нём всё таки UndefinedFileName наконец то не будет мешать искать ошибку, как вам такая идея :wink:.

2 лайка

А это вообще тёмный лес. Это вылазит в виде ошибки компилятора, но не среды. Выглядит как ошибка в исходном коде, а где - не понятно.

Нет, ошибка компилятора то другое. Она вылазит нормальным окном с описанием ошибки и некоторой дебаг информацией. И только в случае когда ошибка как раз в коде компилятора а не вашей программы.

А UndefinedFileName - это обычная ошибка, но когда разработчик не указал передачу информации о том где произошла эта ошибка и т.п., поэтому для них берёт значение по умолчанию - строчка#0 и файл “UndefinedFileName”.

Ещё хлеще…

Сделал отдельную тему. Прошу писать сюда только про нестабильность среды.

Примерно дней через 10-15 сделаю специальную Debug-версию для тестирования нестабильности среды.

Это именно ошибки компилятора, точнее, его рукописного парсера, происходящие где-то на этапе генерации лексического дерева AST, т.е. еще до попытки трансляции в CIL-код виртуальной машины.

Ну да, компилятора, но не внутренние.