我正在使用 LD_PRELOAD 来捕获 linux 中的 write() 系统调用。我能够成功地为编写系统调用执行此操作并使其工作。
但是当我调用 printf() 时它不起作用。如果我们使用 strace 观察 printf 堆栈跟踪,我发现最后 printf 调用 write() 系统调用来写入控制台,但当时我的 write() 系统调用在实际调用 write() 系统调用之前没有被调用.
有人知道为什么会这样吗?
我正在使用 LD_PRELOAD 来捕获 linux 中的 write() 系统调用。我能够成功地为编写系统调用执行此操作并使其工作。
但是当我调用 printf() 时它不起作用。如果我们使用 strace 观察 printf 堆栈跟踪,我发现最后 printf 调用 write() 系统调用来写入控制台,但当时我的 write() 系统调用在实际调用 write() 系统调用之前没有被调用.
有人知道为什么会这样吗?