J'essaie de lire la pile d'un processus enfant mais sans succès. Je sais qu'il est possible d'utiliser ptrace, mais ptracel'interface de vous permet de lire un seul mot à la fois, et j'essaie de numériser une plus grande partie de la pile.
J'ai également essayé de lire les /proc/$pid/memlimites de la pile extraites du /proc/$pid/mapsfichier après avoir d'abord utilisé ptrace pour y attacher (comme suggéré ici ) mais la lecture continue d'échouer (même lors de l'exécution en tant que root) bien que le même code réussisse lorsqu'il est essayé lecture de différentes parties du processus (par exemple, tas).
Qu'est-ce que je fais mal? Y a-t-il une autre option?
waitpidentreptrace(PTRACE_ATTACH,…)etread(sinon il existe une condition de concurrence possible)? Quelle erreurreadrevient? L'enfant fait-il quelque chose de particulier avec son mappage de mémoire - pouvez-vous essayer votre code avec un enfant simple commesleep?