Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.08.15;
Скачать: [xml.tar.bz2];

Вниз

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

 
MIg   (2002-07-19 17:23) [0]

Ставлю на строчку метку для отладки. А вместо галочки крестик появляется. Оказывается это в нескольких местах так. Синих точек нету. Две процедура вооще не подхватываются (синих точек вообще нету).
А так вот как выглядит:

. t:=tim*2;
Kka:=0; //и эту строчку программа проскакивает
. p:=SputCharac_g[2,5]*(1-SputCharac_g[2,6]*SputCharac_g[2,6]);
. u:=SputCharac_g[perem1,7]*pi/180+t*2*Pi/period;

Идут сплошные глюки, т.к. переменные не присваиваются и вообще......

Такое у меня было как-то. Но тогда я из текстового файла переносил части программы. Пришлось все равно все перенабирать.
А здесь я из своей же программы копировал. В одном месте
. Kka:=0; точка есть (оттуда я и копировал эту строчку)
А в другом
Kka:=0; нету и ничего не присваивается.......

Подскажите пожалуйста в чем и где причину искать.
Спасибо.


 
Виктор Щербаков   (2002-07-19 17:32) [1]

Хм...
А может компилятор подсказки тебе выдавал о неиспользуемых значениях переменных?
Если это так, то будь уверен, оптимизатор (если он включен) выкинул при компиляции ненужный код.


 
drpass   (2002-07-20 01:24) [2]

Даже если и не выдавал - при включенной оптимизации компилятор основательно вычищает код - отсюда и невозможность попасть на эту строчку. В готовой программе ее просто нет. Выключи оптимизацию (project-options-compiler-optimization) и перекомпилируй программу через команду Build.


 
NailMan   (2002-07-20 01:55) [3]

Скорее всего, в этот кусок программы программа никуда ек попадет, и компилятор выводит зеленый breakpoint с крестиком.
Такое может быть если приведеный тобой код находится в процедуре, которая никогда не вызывается или в нулевом цикле, например:
A:=0;
...
For i:=1 to a do
begin
....
end;

Вообще-то о нулевых циклах кромпилятор должен ругаться.

Так что смотри вызываются ли твои процедуры вообще и пройди программы пошагово(F8).


 
MIg   (2002-07-21 04:47) [4]

В этом-то и все чудеса, что логика тут совсем не помогает.....
Циклов в этой процедуре вообще нету. Там три действия и все..
А по F8 эту строчку перескакивает и ничего не присваивается.....

Проюовал даже так:
Есть работающая процедура
Procedure Umn_matr(........);
begin
. *********
. *********
end;

и там, где точки не стоят
Procedure Vec(........);
begin
*********
*********
end;

Не работающую я закомментировал и вместо нее поставил предыдущую и название поменял. И что?......
Procedure Umn_matr1(........);
begin
*********
*********
end;

Точки исчезли!?!?!?!?........
На Procedure Umn_matr(........); точки есть
А Procedure Umn_matr1(........); нету.......Процедуры абсолютно одинаковые...........

А со строчками примерно то же самое.....
if Radiobutton1.Checked=true then
begin
. t:=tim*2;
. Kka:=0; //строчка работает
. p:=SputCharac_g[2,5]*(1-SputCharac_g[2,6]*SputCharac_g[2,6]);
. u:=SputCharac_g[perem1,7]*pi/180+t*2*Pi/period;
end;
if Radiobutton2.Checked=true then
begin
. t:=tim*2;
Kka:=0; // эту строчку программа проскакивает
. p:=SputCharac_g[2,5]*(1-SputCharac_g[2,6]*SputCharac_g[2,6]);
. u:=SputCharac_g[perem1,7]*pi/180+t*2*Pi/period;
end;

Я всего лишь первый код скопировал и заменил Radiobutton1 на Radiobutton2....И точка пропала...Бред какой-то......

На работе один знакомый, который на Buildere программирует, сказал, что у него такое тоже бывает и сам не знает от чего. Он закрывает Builder, заходит опять и все компиллирует заново. И, говорит, глюк исчезает.
Попробую-ка я оптимизацию убрать......





 
NailMan   (2002-07-21 04:59) [5]

Мда...бывает...
У меня похожие глюки были когда я использовал файловые хандлеры типа F:textfile...File of; после выхода из процедуры выдавался AV. Перешел на Integer-хандлеры и бреда не стало.

Но такие глюки как у тебя я встречаю впервые...


 
MIg   (2002-07-22 11:22) [6]

Отключил я оптимизацию и все перекомпиллировал. Внутри программы все стало нормально, т.е. переменные вроде присваиваются....
Но в двух процедурах все равно точек нет.
Покопаюсь еще....

Главное прогресс есть. С мертвой точки сдвинулся...

Спасибо.



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

Форум: "Потрепаться";
Текущий архив: 2002.08.15;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.007 c
3-47937
Gamar
2002-07-25 12:44
2002.08.15
Как в Дельфи перекопировать все поля одной записи в другую?


4-48366
antonp
2002-06-10 22:41
2002.08.15
Как узнать Id процесса?


1-48113
malamba
2002-08-05 09:43
2002.08.15
Как уведомить клиентов об изменении базы


14-48282
farhad
2002-07-21 14:39
2002.08.15
Нужны ресурсы.


1-48063
snoup
2002-08-02 20:17
2002.08.15
Скажите как программно узнать ОС котороя стоит на машине





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский