Ответ
 
Опции вопроса Поиск в этом вопросе Опции просмотра
  #1  
Старый 01.10.2011, 04:56
Аватар для Guest
Guest
Вопрос
Сообщений: n/a
По умолчанию

Добрый вечерПроблема в том что если deadlock все ж случился - gdb ничего не покажет. Можно сказать отладчику "stop" - но не видно никакого стека вызовов (одни ??). Часто помогает так (псевдокод)КодC++ (Qt)int threadNo = GetCurThread();if (theLockOwner == threadNo) Alert("deadlock"); // поймали// захватываемDO_LOCK;theLockOwner = threadNo;...// работаем...// освобождаемtheLockOwner = -1;DO_UNLOCK;Но, увы, не всегда Вопросы типа "а какой компилятор, версия, платформа?" - прошу не задавать. Если б оно штатными средствами решалось - не поленился бы выучить. Прошу поделиться опытом отлова.Спасибо
Ответить с цитированием
Ответ



Похожие вопросы
Тема Автор Раздел Ответов Последний вопрос или ответ
как ловить карманнников? Guest Ещё вопросы и ответы из архива 4 0 10.01.2012 14:07
Как ловить креветок? Guest Новые вопросы и ответы 1 0 02.01.2012 11:24
Как ловить позитифф? Guest Третий архив вопросов и ответов 0 13.11.2011 10:26
Deadlock found when trying to get lock Guest Продолжение старого архива 0 16.10.2011 15:12



© www.otvetnemail.ru - Форум вопросов и ответов.