![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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 :-)