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

Вниз

Подскажите прием отладки св-ва Terminated у потока   Найти похожие ветки 

 
AV ©   (2012-05-02 17:35) [0]

procedure Thread.Execute;
 repeat
    Вся работа
 until Terminated;
 CanKillMe := True; // public-св-во, потом перебираю все потоки и кого можно убить - убиваю

Когда отлаживаешь, доходишь до Terminated, оно всегда равно False(т.к. не могу переключится в программу, которая устанавливает св-во Terminated в true).
т.е. надо изменить на True (из-под отладчика)
т.е. как бы сказать этому потоку Terminate


 
Cobalt ©   (2012-05-02 18:38) [1]

Нажимаешь Ctrl+F5 (или F7?)
набираешь self.Terminated, Enter
вводишь True, Enter


 
Anatoly Podgoretsky ©   (2012-05-02 19:03) [2]

> AV  (02.05.2012 17:35:00)  [0]

Terminated := True;


 
Cobalt ©   (2012-05-02 23:07) [3]

Анатолий, внимательнее:
> надо изменить на True (из-под отладчика)


 
Германн ©   (2012-05-02 23:55) [4]

В BreakPoint properties поставить условие Terminated = True


 
AV ©   (2012-05-03 09:04) [5]

Чем становлюсь старее, тем глупее :)
Потом уже придумал написать
until Terminated and B;
а локальную переменную уж поменять могу через менюшку debug.
А тут вообще можно и проперти, оказывается..
Спасибо.


 
AV ©   (2012-05-03 10:06) [6]

Отладилось!
Забыл inherited дописать в destractor одного класса :)
Здорово то как получается..

Никогда (наверное :)) не забуду, как ЮЗ посоветовал как-то аля машину состояний реализовать при анализе некоторого формального языка.
Мой случай :) Общаюсь с железками на их языке.
Особенно, если ответы приходят по сети в разное время от разных потоков(тем более, по сети, уже потоки id), машина состояний, короче, - "само то".


 
Юрий Зотов ©   (2012-05-03 13:07) [7]


> AV ©   (03.05.12 10:06) [6]

Это не "ЮЗ посоветовал", это классики так советуют.

Да ведь и действительно: программа находится в каком-то состоянии, приходит символ, программа переходит в другое состояние (допустимое или нет). Конечный автомат в чистом виде.



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

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

Наверх




Память: 0.48 MB
Время: 0.077 c
2-1340113435
Новичок
2012-06-19 17:43
2013.03.22
Программа на Lazarus для MacOS


15-1328563233
Германн
2012-02-07 01:20
2013.03.22
Небольшой опрос по провайдерам и SMTP-серверам


15-1339316192
MastaK
2012-06-10 12:16
2013.03.22
Игра Sokoban


15-1353423286
0xDEADBEEF
2012-11-20 18:54
2013.03.22
неадекватно отображаются компоненты в Windows7


2-1338107276
rikitiki2012
2012-05-27 12:27
2013.03.22
Автоматически прерывает выполнение (BreakPoint в настройках )