Это код из которого я вычленил IDE#252, но я добавил : ICollection<TKey> как обход той issue.
Вот только обход не сработал - анализатор кода всё ещё так же сломан. Но теперь, кроме той проблемы, он ещё и, если оставить на достаточно долго - сожрёт всю RAM (по крайней мере я не смог дождаться где он останавливается).
Не представляю как даже минимальный код искать - потому что это, по сути утечка памяти.
Мне кажется, чем больше строк, тем дальше остановится. Разные строки влияют в разной степени: если убрать одни, разница будет лишь в пару процентов, а другие — процентов 10.
По-моему, его нет (см. выше). Но можно найти строки, вносящие весомый вклад в нагрузку на оперативку:
ColoredStrings.pas (2.2 КБ)
Их можно искать, подстраховавшись связкой close PABC.exe и close PABC.bat. Вряд ли поможет, но всё же.
##
MillisecondsDelta;
while true do
if MillisecondsDelta > 16 then
break;
Exec('close PABC.bat');
taskkill /im PascalABCNET.exe /t /f
А в остальном я мониторил диспетчер задач и убирал код построчно через текстовый редактор. Вначале я делил пополам, поэтому чистка может быть неточной.
А у вас получилось дождаться пока анализатор кода остановится и перестанет кушать больше RAM?
Я думаю дело в том, что что-то зацикливается до бесконечности, и продолжает создавать новые экземпляры - дубли уже известных анализатору кода данных.
Тогда весь остальное код, кроме проблемной части, должен лишь ускорять потребление оперативки, но в итоге она всё равно должна быть бесконечной.
У меня кст получилось таки дождаться пока анализатор кода доработает, после того как я удалил Parsing.pas из изначального архива (из заголовка):
Что-ж, могло быть хуже))) Правда, это если ничего не трогать.
Если теперь в рандомном месте добавить и сразу удалить пробел, после сохранения файла подскакивает снова до:
То есть старую информацию не отгрузило, и при этом ещё и почти всё продублировало.