Intel core i5, Ubunu 16.04
我正在阅读有关内存分页的内容这里,现在正在尝试进行实验。我编写了一个简单的汇编程序来获取段错误并在gdb中运行。以下是程序代码:
section .text
global _start
_start:
mov rax, 0xFFFFFFFFFFFF0A31
mov [val], eax
mov eax, 4
mov ebx, 1
mov ecx, val
mov edx, 2
int 0x80
mov eax, 1
int 0x80
segment .bss
dummy resb 0xFFA
val resb 1
我将其汇编并链接成一个64位ELF静态可执行文件。
据我所知,每个进程都有自己的页表,cr3
寄存器指向它。现在我想要查看这个页表,是否可能在Linux中找到有关进程页表的信息?
/proc/$pid/map
包含进程$pid
的内存映射。页面表本身并不是很有趣,因为它经常被内核修改,并不能真正指示您可以访问哪些页面。 - fuz