【发布时间】:2016-05-26 12:45:43
【问题描述】:
我是汇编和 Linux 内核的新手。我想显示最近用于所有进程的 100 个。(strace 只显示一个进程。)。
为此,我想在arch/kernel/entry_64.s 中声明一个索引为 100 的数组,然后将其内存地址发送到我的系统调用的 C 函数并将它们显示给用户,但我不能在程序集中声明数组。我该怎么做?
【问题讨论】:
-
在跑步之前先学会走路。从破解 linux 内核开始可能不是最好的主意。无论如何,您需要知道要在数组中存储什么类型的项目。您可以执行
array .space 100*item_size之类的操作。你可能也想把它放在一个可写的部分。 -
我只想保存系统调用号并添加新的系统调用以显示最近使用的 100 个系统调用。你有更好的主意吗?
-
你需要这些做什么?
strace怎么样? PS:别忘了你可能有多个核心。 -
strace 显示一个进程使用的系统调用,但我想显示所有进程最近使用的 100 个系统调用
-
请根据您的要求编辑问题。
标签: assembly linux-kernel x86-64