我知道这里有关于页面映射文件的一些信息。但似乎没有人指出如何引用文件中的条目。它是否被虚拟地址抵消?我可以使用虚拟地址VA并简单地lseek来抵消VA吗?还是按页面?如果是这样,我如何检索页码,因为地图只是按顺序列出它们。我试图在虚拟和物理地址之间进行转换,并且使用虚拟地址进行转换,因为无论我在哪里寻找,偏移始终都会返回相同的数字。
由于
@leeduhem:是的,我有。这是相关部分: 3.打开/ proc / pid / pagemap并搜索您要检查的页面。 4.从页面地图中为每个页面读取u64。
这对我没有帮助。它希望我寻找页面,但我怎么知道页面的条目在哪里?
答案 0 :(得分:1)
有一个工具可以帮助您从页面地图文件中获取所需的信息。
http://fivelinesofcode.blogspot.com/2014/03/how-to-translate-virtual-to-physical.html
答案 1 :(得分:1)
您将虚拟地址除以pagesize(通常为0x1000或4096)并使用它在/ proc / self / pagemap中编制索引。分割后,称为PFN,或页面帧号。
拉里