Я пытаюсь прочитать указатель инструкций / регистр ПК процесса / потока на компьютере Aarch64 linux, который застрял в системном вызове (= земля ядра) через этот код C ++:
ptrace( PTRACE_GETREGSET, threadProcessId, NULL, ®s );
printf( "Register dump: %lx\n", regs.pc );
Однако распечатанный адрес не совпадает с адресом функции из вершины стека, возвращаемого / proc / threadProcessId / stack. Кажется, он даже не находится в пространстве ядра.
Я что-то не так делаю? Могу ли я получить доступ к частям ядра вообще таким образом?