Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.01;
Скачать: CL | DM;

Вниз

Глюк расстановки мест под точки останова.   Найти похожие ветки 

 
msn777   (2006-08-18 20:29) [0]

Иногда Delphi не правильно связывает откомпилированный код с исходным кодом, например тело процедуры (begin) начинается в строке 100, а при отладке Delphi начинает ее отлаживать со строки 90, где просто объявляются переменные или вообще располагается закомментированое описание этой процедуры. При этом программа работает вроде правильно, но отлаживать такую прогу крайне не удобно, так как все места под точки останова не соответствую исходному коду, не работает Find Declaration и т.д.
Такое происходило крайне редко, обычно только в одном модуле, хотя во всех остальных может быть нормально, пока закономерность не выявил. Пробовал на разных машинах и с разными версиями Delphi (7 и 2006) везде глюк присутствует. Отключение оптимизации не помогает, отладочная информация подключена. Проект находится в папке без русских символов.
В качестве примера (где этот глюк наблюдается) взял компонент XP Menu ver 3.1 (http://www.shagrouni.com/english/software/xpmenu.html / скачать можно тут: http://www.shagrouni.com/download/xpmenu.zip (62 КБ)).

Может, кто сталкивался с этой проблемой и знает, как ее лечить.
Спасибо.

Screenshot’ы глюка (обратите внимание на синие точки (место под точки останова) которые стоят напротив комментариев):
http://www.usb-osc.kiev.ua/delphi/d2006_1.png
http://www.usb-osc.kiev.ua/delphi/d2006_2.png
http://www.usb-osc.kiev.ua/delphi/d7_1.png


 
guav ©   (2006-08-18 21:23) [1]

Такое бывает, когда вместо конца строки CRLF (#13#10) применяются другие последовательности символов обозначения конца строки, такие как #13 , #10 и #10#13


 
Германн ©   (2006-08-19 00:30) [2]


> guav ©   (18.08.06 21:23) [1]
>
> Такое бывает, когда вместо конца строки CRLF (#13#10) применяются
> другие последовательности символов обозначения конца строки,
>  такие как #13 , #10 и #10#13
>

Ага. И происходило это в результате Copy-Paste из неких документов типа хэлпа. :-)


 
DrPass ©   (2006-08-19 00:41) [3]


> Может, кто сталкивался с этой проблемой и знает, как ее
> лечить

Сделать Build, например


 
Германн ©   (2006-08-19 00:45) [4]


> DrPass ©   (19.08.06 00:41) [3]
>
>
> > Может, кто сталкивался с этой проблемой и знает, как ее
> > лечить
>
> Сделать Build, например
>

В ситуации описанной в [1] - не поможет.


 
DrPass ©   (2006-08-19 10:20) [5]


> В ситуации описанной в [1] - не поможет

Не поможет, конечно. Но намного чаще такой глюк возникает, когда в Delphi отчего-то происходит рассинхронизация прекомпилированного модуля в памяти и исходника


 
msn777   (2006-08-21 15:00) [6]

Всем спасибо за ответы.
На выходных докопался до истины. Действительно глюк был обусловлен из-за того что в исходниках были непечатные символы типа $0d0d … После того как код скопировал в Word, а затем обратно в Delphi все заработало.


 
Desdechado ©   (2006-08-21 15:31) [7]

Еще такое бывает, если в коде стоят директивы условной компиляции {$IFDEF} и т.п. Тогда куски кода в тексте остаются, а вот отладочная информация о номерах строк сбивается...



Страницы: 1 вся ветка

Текущий архив: 2006.10.01;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.109 c
15-1157957457
Neo Trinitron
2006-09-11 10:50
2006.10.01
PowerDesigner


2-1157709922
Urvin
2006-09-08 14:05
2006.10.01
Отправить запрос на сервер


2-1157630489
Ruslan D
2006-09-07 16:01
2006.10.01
назначение события для компонент


15-1157901997
AlexanderMS
2006-09-10 19:26
2006.10.01
"Необычное в обычном".


15-1158038544
Michael5
2006-09-12 09:22
2006.10.01
При загрузке WinXP на этапе ввода пароля пользователя