Em tal situação, pode ser útil rastrear a execução do programa. Duas ferramentas que podem ser usadas para isso são strace e gdb:
- Use strace para registrar as chamadas do sistema, usando
-o file
para gravar o log em um arquivo. Isto irá mostrar-lhe quando o programa trava ao executar uma chamada de sistema - Use o gdb para anexar ao processo em execução (via
-p pid
) e verifique o rastreamento de pilha de todos os encadeamentos
Isso pode dar uma ideia de por que o processo trava.