Как проверить, читается ли адрес в приложении linux userspace
Для целей отладки мне нужно проверить указатель, чтобы увидеть, указывает ли он на допустимую читаемую страницу. В настоящее время я просматриваю /proc/ [pid]/maps, чтобы увидеть, правильно ли отображается адрес, но это кажется немного затянутым. Есть ли способ лучше? Спасибо.
Ответы
Ответ 1
Каноническим способом является использование системного вызова write()
для чтения со страницы (запись в дескриптор файла фиктивного pipe()
). Вместо -1
он вернет -1
с errno == EFAULT
если буфер, переданный для write()
не читается.