strace 如何解释系统调用参数?

发布于 2024-12-05 23:01:28 字数 119 浏览 1 评论 0原文

我知道它使用 ptrace 来实现,

并且它可以在寄存器中获取参数,

但它们只是数字,

strace 如何将它们转换为文字信息?

每个系统调用都只是硬编码吗?

I know it uses ptrace for implementation,

and it can get arguments in registers,

but they're numbers only,

how does strace convert them into literal information?

Is it just hard code for every syscall?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

转瞬即逝 2024-12-12 23:01:28

基本上,是的,它是硬编码的。如果您查看源代码detail),您可以看到系统调用的大表和知道如何解码所有各种参数的大 switch 语句,返回多个值不同的操作系统和CPU

Basically, yes, its hardcoded. If you look at the sourcecode (detail), you can see big tables of system calls and big switch statements that know how to decode all their various arguments and return values for multiple different OSes and CPUs

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文