GDB: цикл по адресному пространству памяти ядра - PullRequest
0 голосов
/ 15 января 2020

Во-первых, я новичок в разработке или отладке ядра, поэтому у меня может быть здесь принципиальное недоразумение. Я попытаюсь объяснить проблему подробно.

Моя цель - найти конкретную строку (имя процесса) из task_struct . Поэтому я планирую провести тщательный поиск в адресном пространстве ядра с последующей проверкой памяти, чтобы найти совпадение со строкой (не совсем уверен, что это правильный подход или нет, но на данный момент это единственный подход, который я могу подумай над этим). У меня KVM работает под управлением 64-битной Linux, и я пытаюсь отладить это ядро ​​с хоста удаленно. Я полагаю, что 64-битное ядро ​​Linux имеет диапазон адресов 0xffff800000000000 - 0xffffffffffffffff . Насколько я понимаю, с помощью GDB я могу получить доступ к любой ячейке памяти.

Однако, если я пытаюсь проверить первый адрес ядра, он показывает следующую ошибку.

enter image description here

Любая помощь, касающаяся того, почему я не могу получить доступ к этой ячейке памяти? или если это неправильный подход, какой путь мне выбрать? Пожалуйста, помогите.

NB. Моя версия ядра - 5.0.0-37-generi c

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...