Peering into the Linux Kernel with Trace
a year ago
- #BCC Tools
- #Linux Kernel
- #Debugging
- 作者遇到间歇性测试失败,原因是文件访问时间发生了意外变化。
- 使用strace未能揭示原因,因此怀疑是其他进程或内核错误。
- 最终使用了BCC工具中的trace来实时监控内核函数调用。
- 将trace配置为监控touch_atime函数,发现是Sublime Text的后台线程在访问文件。
- 问题根源是Sublime Text的git集成功能在更新访问时间。
- 作者强调了trace在调试中的强大功能,并将其加入了自己的工具库。
- 整个过程包括解析探针规范、将其转换为eBPF字节码,并使用kprobes进行监控。
- 文章强调了系统设计透明性对简化调试的重要性。