gpt4 book ai didi

c - 如何转储页表?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:50:42 24 4
gpt4 key购买 nike

我是 linux、C 和堆栈溢出的新手。我试图查看所有正在运行的进程的页表。为此,我使用 dump_pagetable.c .

我尝试通过正常编译首先运行 gcc dump_pagetables.c -o dump_pagetables.out。但它给了我错误:

dump_pagetable.c:15:27: fatal error: linux/debugfs.h: No such file or directory #include linux/debugfs.h></code><br/><br/>Then I tried to use a make command <code>make -C /lib/modules/$(uname -r)/build M=$PWD modules</code>. So it gave me this error<code>CC [M]  /home/varma/Desktop/TLB/dump_pagetable.o
/home/varma/Desktop/TLB/dump_pagetable.c:420:1: warning: data definition has no type or storage class
__initcall(pt_dump_init);
^
/home/varma/Desktop/TLB/dump_pagetable.c:420:1: error: type defaults to ‘int’ in declaration of ‘__initcall’ [-Werror=implicit-int]
/home/varma/Desktop/TLB/dump_pagetable.c:420:1: warning: parameter names (without types) in function declaration
/home/varma/Desktop/TLB/dump_pagetable.c:398:12: warning: ‘pt_dump_init’ defined but not used [-Wunused-function]
static int pt_dump_init(void)
^
cc1: some warnings being treated as errors
scripts/Makefile.build:263: recipe for target '/home/varma/Desktop/TLB/dump_pagetable.o' failed
make[1]: *** [/home/varma/Desktop/TLB/dump_pagetable.o] Error 1
Makefile:1394: recipe for target '_module_/home/varma/Desktop/TLB' failed
make: *** [_module_/home/varma/Desktop/TLB] Error 2
make: Leaving directory '/usr/src/linux-headers-3.19.0-23-generic'</code>
  1. 如何运行此代码?
  2. 如何修改 dump_pagetables.c 以便我也可以看到大页面。

最佳答案

您尝试编译的文件是一个实用程序函数,用于在 Linux 内核中用于 IBM 大型机(IBM System/390)中使用的有点模糊的 CPU。它不能在内核之外使用,即使在内核之外,它也仅适用于该特定体系结构的系统,而不适用于任何台式计算机。

不用说,这是行不通的。

x86 系统的内核中有一个等效功能 (CONF_X86_PTDUMP),但未启用。如果你想使用它,你可能需要重新编译你的内核。有关详细信息,请参阅问题“Print kernel's page tables”的答案。

关于c - 如何转储页表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31757850/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com