У нас есть старое приложение Qt, основанное на виджетах, в котором, если мы продолжаем его работать в течение ночи, число потоков превышает 3000, а затем, если мы используем его, оно падает или иногда мы обнаруживаем, что оно уже аварийно завершилось.
Я пытался поместить журнал в возможные потоки, но все еще не понял, какой код генерирует эти потоки. Ниже приведен стек вызовов, который я взял, прервав выполнение.
Из этого стека вызовов я не могу определить, для какой цели создается поток. Событие попыталось дать имя потокам, вызвав setObjectName () из Qt (). Существует ли переносимый способ присвоения имени потока с помощью Qt? ) в потоке, но он не фиксируется в сборке выпуска и для нас Работа в сборке релиза - это только опция.
Итак, возможно ли регистрировать стек вызовов всякий раз, когда в приложении появляется какой-либо поток? Это перехват createThread это путь? Хотя я никогда не пробовал зацепить раньше. Или я могу перехватить все запущенные потоки?
Пожалуйста, предложите.