Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Bug компилятора Delphi6 и выше - в kol.pas неверные остановы.


Kladov ©   (2003-01-19 12:53:00) 

Замечал раньше в D7, думал это только его баг. Оказывается, баг имеет место в D6. После компиляции в KOL.PAS точки останова, отмеченные синими точками, стоят на 2 строки выше, чем надо бы. Отлаживать код вообще невозможно. Delphi показывает, что сейчас будет выполняться строка 10000, и отмечает ее темно-синим. А фактически выполняться будет строка 10002. Пример: http://bonanzas.rinet.ru/d6bug.png

Какую-то конструкцию в коде Delphi6 не понимает, из-за которой у него крыша съезжает. Upd2 установлен. На прочих файлах (сам проект, другие модули) все нормально. Если кто еще сталкивался и нашел причину, сообщите, пожалуйста, как побороть.


Kladov   (2003-01-22 20:33:00) [1]

баг не в том, как получается, что на конце нет #10, а в том, что на этом лажается отладчик. В D5 же у него крыша не едет. Знают - хорошо, а почему не исправляют? забота о совместимости по глюкам снизу вверх? Т.е. если в D6 баг появился, то он теперь не должен быть исправлен в D7, потому что приравнен к фиче, что ли.

само собой, обновлю в 1.63


Mystic   (2003-01-22 19:00:00) [2]

Такое бывает при копировании кода из Help и/или Exporer. В Inprise об этом знают.


Anatoly Podgoretsky   (2003-01-22 18:53:00) [3]

Kladov (22.01.03 16:25)
Это не баг - нормальное поведение, а вот если ты уверен, что в Delphi редакторе такие получаются, то это баг.


mdw   (2003-01-22 18:38:00) [4]

2 Kladov
Помогло! А то заколебался, аж привык:))) Спасибо за совет.
Кстати, это могбы бы Updater делать при обновлении.


Bartov   (2003-01-22 18:19:00) [5]

2Kladov
А по другому исправить ошибку ни как нельзя?...


Kladov   (2003-01-22 16:25:00) [6]

Нашел источник и способ исправления.

Проблема в строках, завершающихся #13 без последующего #10.
Бывает, что в Delphi редакторе такие получаются. Сколько таких
строк до интересующего кода, на столько строк вверх и будет
сдвиг. Думаю, этот баг внесен при переработке отладчика в D6, т.к. в D5 с теми же самыми строками все в порядке.

Метод исправления: я загрузил kol.pas в strlist, и сохранил обратно. При этом восстановились правильные концы строк, и все
стало в порядке. Кому не лень, может кинуть Инпрайсу баг-репорт.


Avenger [NhT]   (2003-01-21 00:56:00) [7]

В д5 этого вроде нет, и с асмом это несвязано...
Попробуй включить код на паскале и тоже самое будет...

Это как сказал Кладов компилер гдето спотыкается...
Надо искать это место...

А в других прогах у меня все Ок!
правда нет таких длинных сурсов, пока тока 7 тыс линий ;)


Игорь Шевченко   (2003-01-20 17:58:00) [8]

Кстати, этот баг регулярно может встречаться в коде с употреблением слова objectи ассемблерными вставками. Бился с ним неделю на Delhpi 5, победить или найти причину не смог. Если кто-нибудь поймет, в чем собака порылась, буду благодарен.

С уважением,


Bartov   (2003-01-19 20:34:00) [9]

2Kladov
Я сам три дня мучался так и непонял...

Мимо ходом вопрос по kol.pas
Почему, если в нем убрать выравнивание {$A-}, то вылетает ошибка
Runtime Error 216?


Anatoly Podgoretsky   (2003-01-19 18:07:00) [10]

Build Procject.
Проверить не используются ли разные dcu и pas (настройка путей).
Обычно из за этого.


Bartov   (2003-01-19 17:29:00) [11]

Самое что интересное этот баг только в kol.pas :-)


Наверх

Титульная страница Поиск, карта сайта Написать письмо