Próbuję odczytać stos procesu potomnego, ale bez powodzenia. Wiem, że to możliwe ptrace
, aleptrace
interfejs pozwala na odczyt tylko jednego słowa na raz, a ja próbuję zeskanować większą część stosu.
Próbowałem również odczytać /proc/$pid/mem
z granic stosu wyodrębnionego z /proc/$pid/maps
pliku po pierwszym użyciu ptrace do dołączenia do niego (jak sugerowano tutaj ), ale odczyt nadal się nie udaje (nawet gdy działa jako root), chociaż ten sam kod kończy się powodzeniem przy próbie odczyt z różnych części procesu (np. sterty).
Co ja robię źle? Czy jest jakaś inna opcja?
waitpid
pomiędzyptrace(PTRACE_ATTACH,…)
iread
(w przeciwnym razie istnieje możliwość wyścigu)? Jaki błądread
powraca? Czy dziecko robi coś szczególnego z mapowaniem pamięci - czy możesz wypróbować kod z prostym dzieckiem, takim jaksleep
?