Вероятно, это ошибка Slackware или версии Slackware 14.2 для Xfce. С новейшим дистрибутивом, таким как Fedora 30 или Slackware, все работает нормально.
Согласно справочной странице, EIO
означает:
is invalid, or an attempt was made to read from or write to an invalid area in the tracer's or the tracee's memory, or there was a word-alignment violation, or an invalid signal was specified during a restart request.
Таким образом, переменная child_addr
, переданная в ptrace(PTRACE_PEEKDATA,...)
, скорее всего, неверна. Хорошим началом было бы проверить результат ptrace(PTRACE_PEEKUSER,...)
на наличие ошибок.