Depuração tópicos travado em um programa de MT?
-
20-08-2019 - |
Pergunta
Quais são as possíveis maneiras de depuração Deadlocking tópicos em um programa de MT, com excepção gdb?
Outras dicas
Se você estiver usando POSIX, tente investigar PTHREAD_MUTEX_ERRORCHECK.
Eu sempre investiu algum tempo para escrever ou enxertia em um recurso de registro flexível em projectos em que já trabalhei, e ele sempre valeu a pena em transformar erros difíceis em fáceis. No mínimo, o acondicionamento primitivos em funções ou métodos que log antes e após a exploração, e exibir o objeto que está sendo bloqueado bloqueio e o fio que está fazendo o bloqueio sempre me ajudou a zero em no segmento de ofensa em questão de minutos - assumindo que o problema pode ser reproduzido em todos, é claro.
Carregando o programa sob um depurador é realmente um método muito limitado de determinar o que aconteceu uma vez um processo impasses, já que tudo o que posso lhe dar é um instantâneo de como mal você estragou tudo, em vez de uma explicação passo a passo de como você asneira, que eu acho muito mais útil.
Ou obter o segmento Intel Checker. Trabalho bom.