Eu sei sobre strace e ltrace, mas isso apenas me diz quais chamadas de sistema e chamadas de biblioteca um processo está executando, respectivamente. Gostaria de saber exatamente quais instruções um processo está executando. Montagem, ou algum tipo de meio termo entre C e montagem, se isso for possível. Supondo que o binário não tenha sido compilado com símbolos de depuração, é mais provável que se incline para a primeira opção.
Caso de uso: o processo parece estar travado, sem saída do strace ou ltrace. Determine se o processo está fazendo "alguma coisa". Sei que isso pode ser difícil de determinar, pois imagino que isso seja análogo à solução do problema de parada. No entanto, pode ser possível coletar dados úteis.
Segundo caso de uso: curiosidade. Seria interessante despejar a lista inteira de instruções de montagem em uma lista de texto.
Meu palpite é que eu posso usar o gdb para fazer isso, mas não sei como, pois isso é menos sobre a depuração de um programa que escrevi e mais sobre o uso do gdb para verificar a integridade de um processo em execução.
O SO é o CentOS 6.
gdb
ouddd
. Mesmo em montagem e sem símbolos de depuração.