【RFC】将系统调用打印移至impl Syscall

现状与问题

目前无论x86_64还是risc-v,打印系统调用号的方法是在对应架构系统调用入口进行打印,并给予Pid等在函数逻辑中进行打印的判断。并且,直接打印调用号的数字,没有做可读性的提升,在遇到陌生的调用or错误的返回时还得特地查对应的调用号与错误码。

建议

从两个方面考虑

  • 要求在不启用调用打印时不影响调用性能(允许打印时进行必要的可读化)
  • 模块化,且对于通用的系统调用不需要重复引入

因此或许可以直接在 struct Syscall 下进行打印,以实现类似下图所示的打印效果:

这功能本身就是纸糊的,我的想法就是实现ptrace,正儿八经的能用strace命令去追踪。