strace的工作原理是什么?
今天interview被问strace的工作原理是什么,我没弄过linux内核,纯粹只能猜测:我说: strace可以hook操作系统的函数调用(这个是从windows的经验变了个说法),所以可以跟踪。
但是如果是windows那样的话,hook系统api会导致每次系统api被调用的时候,进入我自己的回调函数,这样其实是会影响系统/进程本身的性能的吧。
Linux的strace实现原理到底是怎么样的? 回复 1# weichuang02
strace 是純的用戶空間程序,和體系結構相關(不同 arch 的 syscall 不同),但其實現不需要修改 kernel 也不需要修改被 trace 的程序。對其實現感興趣的話就查查它的源碼吧。
页:
[1]