如何从Linux中的用户空间中找到变量的物理地址?

我想找到用户空间进程中定义的变量的物理地址?有没有办法使用root权限?

解决方法

首先,你为什么要这样做?现代虚拟机系统的目的是从应用程序编程人员的方式去除植物存储器内存布局的复杂性.给他们每个自己的统一地址空间,使他们的生活更轻松.

如果您确实想要这样做,几乎完全需要使用内核模块.以正常方式获取变量的虚拟地址,使用它来索引到进程页表,并读取您找到的值(帧的物理地址).然后添加页面偏移量以获取完整的物理地址.请注意,在启用分页时,您将无法使用此地址.

(如果你幸运的话,你可以从/ proc文件系统获取一个VM区域的帧地址,因此不需要编写一个内核模块.)

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。