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

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

Обычно, для этого у программистов рука заточена каждые 5 символов нажимать Ctrl+S)))

Ну а если серьёзно - это хорошая идея, но у IDE есть проблемы и по серьёзнее.

Это - замазывание проблемы.

восстановление есть только в Word по-моему. В программистских редакторах не встречал.

Ну и - надо выявить, почему. А насколько часто?

И - для этого (свет выключили) существует флаг автосохранения после успешной компиляции.

Я вот даже в Word после каждой законченной мысли нажимаю Ctrl-S.

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

Я заметил два типа вылетов, один тип это когда запущенную программу нельзя остановить, но среда при этом сама не закрывается а вылазит окно там на выбор можно либо закрыть либо продолжить, в этом случае я продолжаю, содержимое несохраненного окна копирую в другое, а это просто закрываю по пкм. А вот второй тип это уже сама иде закрывается, там уже нет выбора для пользователя. Насколько часто? ну я думаю довольно часто это происходит, особенно когда открыто много программ, это надо как то специально за этим охотиться чтобы уловить какую-то тенденцию. А вот насчет программистких редакторов с восстановлением, ну Siblime Text есть такое, в AkelPad тоже, наверное и в Notepad++ но я им мало пользуюсь так что точно не уверен.

Но по сути так и есть, ~1 строчка и Ctrl+S. :grinning: Кстати, это ведь не трудно реализовать.

`Notepad++ вообще сохраняет все открытые файлы. Его можно закрыть, не сохраняя ничего, а когда в следующий раз откроешь - всё что было открыто тоже откроется.

1 лайк

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

Ну, у меня этот флаг всегда включён, но бывает что я долго пишу без компиляции, если бы не 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, на которую ссылается код, приходится перезагружать и…