【发布时间】:2021-06-02 09:16:06
【问题描述】:
我正在使用 strace 和 ltrace 工具来获取有关包含用户输入提示的程序的信息。
使用strace,从提示中调用read后,readOnly中有一个特定文件的openat:
openat(AT_FDCWD, "file", O_RDONLY) = 3
read(3, "22d72c", 6) = 6
我知道 read 的第二个参数应该是一个缓冲区,并且 read 从缓冲区开始,但它在这里究竟意味着什么?这是否意味着它从 22d72c 位开始?还是 22d72c 是一个键并读取它的值?
至于系统调用,当我使用 ltrace 时,我会在 scanf 提示符和 fopen 打开文件,它返回类似的系统调用,如:
syscall(0, 3, 0x56127f5c96c0, 6)
这里的syscall第三个参数是什么意思? (0x56127f5c96c0)
【问题讨论】:
标签: c system-calls