Приложение зависает в SysUtils -> DoneMonitorSupport при выходе

Я пишу очень потоковое приложение, которое зависает при выходе.

Мы проследили в системные блоки и нашли место, где программа входит в бесконечный цикл. Это'вSysUtils линия 19868 -> DoneMonitorSupport -> CleanEventList: Я

repeat until InterlockedCompareExchange(EventCache[I].Lock, 1, 0) = 0;

Мы искали решение онлайн и нашли пару отчетов о контроле качества:

http://qc.embarcadero.com/wc/qcmain.aspx?d=95194http://qc.embarcadero.com/wc/qcmain.aspx?d=90487

К сожалению, этикажется, не относится к моей ситуации, как яне использовать либоTThreadList или жеTMonitor.I»

Я почти уверен, что все мои потоки закончились и были уничтожены, поскольку все они наследуются от базового потока, который ведет счет создания / уничтожения.

Кто-нибудь сталкивался с подобным поведением раньше? Знаете ли вы какие-либо стратегии для обнаружения, где может лежать коренная причина?

Ответы на вопрос(4)

Ваш ответ на вопрос