linux - 使用/proc/[pid]/pagemap

标签 linux process proc

我知道这里有一些关于页面 map 文件的信息。但似乎没有人指出如何引用文件中的条目。它是由虚拟地址偏移的吗?我可以使用虚拟地址 VA 并简单地 lseek 来抵消 VA 吗?还是按页?如果是这样,我该如何检索页码,因为 map 只是按顺序列出它们。我正在尝试在虚拟地址和物理地址之间进行转换,并使用虚拟地址进行查找,因为无论我在哪里查找,偏移量总是返回相同的数字。

谢谢

@leeduhem:是的,我有。这是相关部分: 3. 打开/proc/pid/pagemap 并查找您要检查的页面。 4. 从 pagemap 中为每个页面读取一个 u64。

这对我没有帮助。它要我搜索到该页面,但我如何知道该页面的入口在哪里?

最佳答案

有一个工具可以帮助您从页面 map 文件中获取所需的信息。

http://fivelinesofcode.blogspot.com/2014/03/how-to-translate-virtual-to-physical.html

关于linux - 使用/proc/[pid]/pagemap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21896833/

相关文章:

ruby - 有没有更简洁的方法在 Ruby 中调用 map 上的外部方法?

c++ - linux new 后无变化

linux - Jenkins 间歇性构建失败

linux - 在 iMac 上对 "Target Display Mode"进行逆向工程

c# - 由另一个产生的调试进程

C# 使用 Process.Start 参数和路径中的空格

c - 如何像 ps -e 一样显示进程

linux - Bash:如何使用两个单独的 echo 命令回显 "hey"和 ", how are you?"?

linux - diff 命令忽略新目录中的新文件

java - 如何生成具有继承权限的进程