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

Вниз

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

 
Kolan ©   (2006-06-01 01:26) [0]

Здравствуйте,
 Сил уже нет. Среда достаточно часто виснет если поставить брейкпоинт внутри  потока. Причем виснет как-то странно. Ничего не реагирует, но музыка, например, играет как играла.
 Глюк наблюдается как в D7 так и в D2006.

Сейчас выкручиваюсь тем, что нажимаю на Program Reset и Жду .... примерно 1 минуту...

МАшина не самая дохлая(Athlon 3200+)
Что делать?


 
Rouse_ ©   (2006-06-01 01:30) [1]

Вырубай антивирь...


 
Kolan ©   (2006-06-01 01:32) [2]


> Rouse_ ©   (01.06.06 01:30) [1]

Нету и небыл. Есть OutPost, но на работе нет... Может Аська?


 
Джо ©   (2006-06-01 01:34) [3]

> Среда виснет при отладки в потоках.

Давнишний баг. Уже прямо не баг, а фича. В результате многолетних экспериментов было обнаружено, что она не "виснет", точнее, не навсегда виснет. Нажимаешь CAD, минут через десять можно будет снять задачу, а иногда даже нажать Ctrl-F2 в редакторе :) Вот, Piter по Win+L вываливается в логоскрин, загружается под другим администратором и убивает подвисший сеанс. Каждый, в общем, по-своему борется :)


 
Kolan ©   (2006-06-01 01:36) [4]

Блин, ну и как же отладить...................
CAD -  это что?
минут через десять - стака терпения.......нет :)

И это только с потоками как я понял...


 
Джо ©   (2006-06-01 01:37) [5]

> [4] Kolan ©   (01.06.06 01:36)
> Блин, ну и как же отладить...................
> CAD -  это что?

Ctrl+Alt+Del


> минут через десять - стака терпения.......нет :)

Тогда последуй методу Piter"а.


 
Kolan ©   (2006-06-01 01:37) [6]

Самое страшное, что я так изнал что будет ответ типа Джо ©   (01.06.06 01:34) [3] и придется терпеть...


 
Kolan ©   (2006-06-01 01:38) [7]


>
> Ctrl+Alt+Del
>

Да и так пробовал. Лучьше всего нажать на Reset и ждать...


 
Джо ©   (2006-06-01 01:39) [8]

В общем, отладку всяких таких мерзопакостных вещей нужно производить при помощи ведения логов. Разумеется, потокобезопасных. :)


 
Kolan ©   (2006-06-01 01:42) [9]

Главное интересно чем можно заниматся.. Винт не работает. Проц. как я понял не грузит. Память не жрёт... Что же она делает..


 
vidiv ©   (2006-06-01 01:45) [10]

А если написать програмку: клавиатурный хук... Если допустим нажимаешь комбинацию Ctrl+Scroll Lock, то активный процесс (или процесс, чье окно активно) безжалостно убивается?


 
Джо ©   (2006-06-01 01:47) [11]

> [10] vidiv ©   (01.06.06 01:45)
> А если написать програмку: клавиатурный хук... Если допустим
> нажимаешь комбинацию Ctrl+Scroll Lock, то активный процесс
> (или процесс, чье окно активно) безжалостно убивается?

Если уж Ctrl+Alt+Del только минут через десять срабатывает, то о чем там можно говорить...


 
Kolan ©   (2006-06-01 02:07) [12]


> нужно производить при помощи ведения логов. Разумеется,
> потокобезопасных.

Гениально... Отладил :)


 
vidiv ©   (2006-06-01 02:18) [13]

Дайте пожалуйста код, который безнадежно зависает...


 
Kolan ©   (2006-06-01 02:19) [14]

Ну дам я тебе. Зачем? Зависает в разных местах.. В разных случиях.....


 
vidiv ©   (2006-06-01 02:38) [15]


> Kolan ©   (01.06.06 02:19) [14]

ни разу не встречал проблему такую... написал по быстрому код. используюя ThreadObject - не виснит и все


 
Kolan ©   (2006-06-01 03:28) [16]


> используюя ThreadObject

ЧТо это я не знаю. Я использую класс TThread...


 
vidiv ©   (2006-06-01 03:53) [17]


> Kolan ©   (01.06.06 03:28) [16]

File New Other...
New
Thread Object
OK


 
ASoft   (2006-06-01 06:52) [18]

на сколько я помню, проблема "зависания" была в установке бр. пойнта в процедуре execute потока. Если нормально используется синхронизация потока, то в процедурах синхронизации не должно быть зависаний при отладке... Или я ошибаюсь...


 
KSergey ©   (2006-06-01 07:28) [19]

> Kolan ©   (01.06.06 01:32) [2]
> Может Аська?

К стати, советую проверить.
У меня часто отладка в дельфи (даже без потоков) самыми чудесатыми вариантами конфликтовала с асей... :(


 
Kolan ©   (2006-06-01 12:17) [20]


> KSergey ©   (01.06.06 07:28) [19]

Не не она...
> ASoft   (01.06.06 06:52) [18]

Да видимо это глюк. Тк даже если поток создать спяшим и поставить брейк поин, то при запуске приложения он возникает...


 
Kolan ©   (2006-06-02 13:08) [21]

Видимо проблема(не знаю полностью или частично) была во мне. Дело в том, что в программе 2 доп. потока. Отлаживал я один, в то время, как второй, из-за моей ошибки, грузил проц. до 100%.....

Всех благодарю за помощь :)


 
Piter ©   (2006-06-02 13:15) [22]

нет, это именно глюк.

Твой пользовательский поток, да еще наверняка с нормальным приоритетом в теории просто не может так завесить машину, что CAD не отрабатывает минутами.

Как писал Джо - я придумал единственный выход, Win+L (если в XP работа), заход под другой админской учетной записью и снимание процесса. Потом Win+L и обратно :) На снятие уходит 10 секунд :)

Хотя если приложение многопоточное - лучше туда сразу первым делом Log класс добавить.


 
Kolan ©   (2006-06-02 13:31) [23]


> Piter ©   (02.06.06 13:15) [22]

Да глюк после исправления ошибки все тоже самое...
> Хотя если приложение многопоточное - лучше туда сразу первым
> делом Log класс добавить.

Да это выход. Блдагодарю


 
Alex Konshin ©   (2006-06-02 15:09) [24]

Используй функцию OutputDebugString и программу DebugView с сайта www.sysinternals.com


 
Sapersky   (2006-06-02 18:02) [25]

Win+L (если в XP работа)

Кстати, замечал подобный глюк ТОЛЬКО в XP. В 2000 с тем же самым проектом и версией Delphi - никогда.



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

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

Наверх




Память: 0.53 MB
Время: 0.043 c
3-1146119582
vishnia
2006-04-27 10:33
2006.06.25
Использование метода TADOTable.Seek


15-1149207948
dancer
2006-06-02 04:25
2006.06.25
У кого какие модемы?


3-1146052175
Сергей А.
2006-04-26 15:49
2006.06.25
Перехват исключений в ClientDataSet


2-1149674994
ksenia
2006-06-07 14:09
2006.06.25
реестр


2-1149586291
StriderMan
2006-06-06 13:31
2006.06.25
Record и указатель на Record