当系统调用修改其参数时,strace 是打印修改后的值,还是显示传入的原始值?
例如,这里是 epoll_wait 系统调用的一些 strace 输出:
11:30:14.602559 epoll_wait(5, {{EPOLLIN|EPOLLOUT, {u32=1210872224, u64=140506770993568}}, {EPOLLIN|EPOLLOUT, {u32=1208190976, u64=140506768312320}}}, 128, 0) = 2
epoll_wait 的第二个参数由系统调用填充。由于结构中有两个事件,并且返回值为 2,我猜 strace 会在调用完成后打印值。但是我找不到任何可以验证这一点的文档。