Sé acerca de strace y ltrace, pero eso solo me dice qué llamadas al sistema y llamadas a la biblioteca está ejecutando un proceso, respectivamente. Me gustaría saber exactamente qué instrucciones está ejecutando un proceso. Ya sea ensamblaje, o algún tipo de punto medio entre C y ensamblaje si eso es posible. Suponiendo que el binario no se ha compilado con símbolos de depuración, es más probable que se inclinen hacia la primera opción.
Caso de uso: el proceso parece estar bloqueado, sin salida de strace o ltrace. Determine si el proceso está haciendo "algo". Me doy cuenta de que esto puede ser difícil de determinar, ya que imagino que esto es análogo a la solución del problema de detención. Sin embargo, podría ser posible recopilar datos útiles.
Segundo caso de uso: curiosidad. Sería interesante volcar la lista completa de instrucciones de ensamblaje en una lista de texto.
Supongo que puedo usar gdb para hacer esto, pero no estoy seguro de cómo hacerlo, ya que se trata menos de depurar un programa que he escrito y más sobre usar gdb para verificar el estado de un proceso en ejecución.
El sistema operativo es CentOS 6.
gdb
oddd
. Incluso en ensamblaje, y sin símbolos de depuración.