0
点赞
收藏
分享

微信扫一扫

linux上trace code的几种方法

GG_lyf 2024-11-06 阅读 18

我们在看代码时,总是会遇到下面问题:
1.查看某个场景下的代码执行流

2.查看某个函数被执行时的routine

但是,如果直接查看源码,源码可能代码量大,且分支多,不容易理清。就需要让相关程序运行起来查看。

-------------------

1.无侵入方式(不修改源码)

  • BCC (linux kernel和userspace均可用)

    • iovisor/bcc: BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more
    • Linux eBPF Tracing Tools
    • 结合例子学习eBPF与bcc:u[ret]probe与USDT - 知乎
    • Intro to Kernel and Userspace Tracing Using BCC, Part 3 of 3
  • bpftrace

    • Linux eBPF Tracing Tools
  • Ftrace

    • function-graph tracer
    • function tracer
    • stack tracer
  • strace(查看系统调用)

  • gdb

2.侵入方式(修改源码)

  • 添加打印log
  • 打印stack - 如:linux kernel中的dump_stack()
举报

相关推荐

0 条评论