Je connais strace et ltrace, mais cela ne me dit que les appels système et les appels de bibliothèque qu'un processus exécute, respectivement. Je voudrais savoir exactement quelles instructions un processus exécute. Soit l'assemblage, soit une sorte de compromis entre C et l'assemblage si cela est possible. En supposant que le binaire n'a pas été compilé avec des symboles de débogage, il est donc plus probable de se pencher vers la première option.
Cas d'utilisation: le processus semble être bloqué, aucune sortie de strace ou ltrace. Déterminez si le processus fait «quelque chose». Je me rends compte que cela pourrait être difficile à déterminer, car j'imagine que cela est analogue à la résolution du problème d'arrêt. Cependant, il pourrait être possible de recueillir des données utiles.
Deuxième cas d'utilisation: la curiosité. Il serait intéressant de vider la liste complète des instructions d'assemblage dans une liste de textes.
Je suppose que je peux utiliser gdb pour ce faire, mais je ne sais pas comment, car il s'agit moins de déboguer un programme que j'ai écrit et plus d'utiliser gdb pour vérifier la santé d'un processus en cours d'exécution.
Le système d'exploitation est CentOS 6.
gdb
ouddd
. Même en assembleur, et sans symboles de débogage.