Supposons que vous ayez une fonction foo() compilée dans un programme qui s'exécute sous Unix.Comment faire pour patcher Live Running Unix Code
Alors que le programme est en cours d'exécution, peut-on "remplacer" la fonction foo en chargeant dynamiquement un fichier objet contenant une version modifiée de foo()?
Sur un système embarqué sur lequel j'ai travaillé dans le passé, nous pouvions déprotéger le segment de texte et ensuite "patcher" l'adresse de foo() pour pointer vers le foo() nouvellement modifié.
Il a été utilisé pour le débogage à l'occasion et avec beaucoup de contraintes spéciales, sur les sites des clients.
Est-ce possible sur Unix?
Pouvez-vous être plus précis sur les systèmes d'exploitation? En général, oui, mais les obstacles spécifiques auxquels vous serez confrontés sont déterminés par la plate-forme que vous utilisez. – richo
Oui, le système d'exploitation est Solaris et IBM AIX. Merci pour toutes vos réponses. – Foo