Existe-t-il un équivalent de ce que fait l' option -Tet -Ude l' trussutilitaire Solaris sur Linux.
Il s'agit de spécifier un appel système ( -T) ou une fonction de bibliothèque ( -U) qui, une fois appelée par l'application tracée, entraînerait son arrêt.
Ou, dit le contraire, je voudrais que tout processus démarré par une application tracée soit arrêté (comme s'il était tué par SIGSTOP) dès qu'il effectue un appel système donné ou un appel de fonction de bibliothèque partagée donné.
straceet ltracesous Linux fournissent une grande partie des fonctionnalités de Solaris truss, mais ils ne semblent pas le faire.
Par exemple:
truss -f -T open cmd
Serait comme strace -f cmdsauf que si le processus en cours d'exécution cmdou l'un de ses descendants fait un openappel système, il serait arrêté immédiatement (et je peux le reprendre plus tard à ma convenance)
Dans certains cas, je pouvais utiliser gdbdes s catch syscall, mais je cherchais une solution qui puisse facilement suivre les fourches et continuer à le faire pour tous les processus fourchus et continuer à le faire même après execves.
Je semble me rappeler un utilitaire donnant la même fonctionnalité, même une (ou des options à ce même utilitaire) pour des applications en une seule étape entre certaines occurrences de certains appels système à distance comme ça, mais ma mémoire me fait défaut, je ne peux même pas être sûr c'était sous Linux.
follow-exec-mode), j'expérimente avec ça. Ne répond pas strictement à la question, mais peut être suffisant pour ce dont j'ai besoin.
trusspage de manuel Solaris .