Ptrace имеет доступ к пространству пользователя или ядра? - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь прочитать указатель инструкций / регистр ПК процесса / потока на компьютере Aarch64 linux, который застрял в системном вызове (= земля ядра) через этот код C ++:

ptrace( PTRACE_GETREGSET, threadProcessId, NULL, &regs );
printf( "Register dump: %lx\n", regs.pc );

Однако распечатанный адрес не совпадает с адресом функции из вершины стека, возвращаемого / proc / threadProcessId / stack. Кажется, он даже не находится в пространстве ядра.

Я что-то не так делаю? Могу ли я получить доступ к частям ядра вообще таким образом?

...