Программа (довольно большая) в одно и то же время, после одного и того же действия выдает эту ошибку:
http://plasmon.rghost.ru/52923701/image.png
Ошибка возникает на последней строчке одной большой функции. Не зависимо, что это за строчка. При отладке, когда выполняю программу по шагам это выглядит так - за 3 строчки до конца функции все идеально, за 2 все идеально, на последней строчке перед "end;" тоже все идеально, на следующем шаге ошибка.
Меня в ошибке смущает адрес FFFFFFFA - может там что-то где-то упирается в потолок памяти? Как это проверить и отладить, исправить? Из-за чего вообще эта ошибка возникает? Я гуглил - не помогло.
Примечание:
Werewolf_, прошелся в окне cpu, но так и не понял, в чем там проблема. Ошибка вылетает при вызове блока LStrClr. Я так понимаю это значит, что программа пытается освободить динамическую память. Вот как выглядит строчка на которой возникает ошибка
http://rghost.ru/52936734/image.png
А вот на какой строчке ошибка в самой процедуре LStrClr
http://rghost.ru/52936738/image.png
Не могу понять, как определить, в чем проблема.
Примечание:
Я так понимаю, в регистр еах записывается адрес переменной, память которой надо освободить с помощью LStrClr, но непонятно, как мне из этой информации понять, что это за проблемная переменная...
Примечание:
Werewolf_, спасибо, вроде нашел подозреваемого: строку, переменную String, которая, похоже, имеет отношение к [ebp-58]. Как предотвратить очистку этой переменной? Я так понял, что это сборщик мусора глючит и убирает то, что не надо убирать?
Примечание:
Исправил эту ошибку, заменив эту переменную на переменную типа Integer. Но на том же самом месте появилась новая проблема. Исключение выглядит так:
http://higgs.rghost.ru/52947581/image.png
Происходит при выполнении некой инструкции LStrArrayClr:
http://higgs.rghost.ru/52947592/image.png
Вот в этой строчке этой инстркции:
http://plasmon.rghost.ru/52947584/image.png
Это вообще нормальная ситуация, что в одном и том же месте вдруг появляются такие ошибки, когда их по идее вообще не должно быть. Может реально в этом месте где-то кончается память (судя по адресу FFFFFFFA) и это вызывает ошибку в этом месте, что бы там ни находилось?
Примечание:
Все, разобрался, спасибо, Werewolf_!))
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.