Sto cercando di leggere lo stack di un processo figlio ma senza fortuna. So che è possibile utilizzarlo ptrace, ma ptracel'interfaccia di ti permette di leggere solo una parola alla volta e sto cercando di scansionare porzioni più grandi dello stack.
Ho anche provato a leggere i /proc/$pid/memlimiti dello stack come estratto dal /proc/$pid/mapsfile dopo aver usato ptrace per collegarlo (come suggerito qui ) ma la lettura continua a fallire (anche quando viene eseguita come root) anche se lo stesso codice ha esito positivo quando provato lettura da diverse parti del processo (ad es. heap).
Che cosa sto facendo di sbagliato? C'è qualche altra opzione?
waitpidtraptrace(PTRACE_ATTACH,…)eread(altrimenti c'è una possibile condizione di gara)? Quale errorereadrestituisce? Il bambino sta facendo qualcosa di strano con la sua mappatura della memoria? Puoi provare il tuo codice con un bambino semplice comesleep?