linux上trace code的几种方法

我们在看代码时,总是会遇到下面问题:

1.查看某个场景下的代码执行流

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

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


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

BCC (linux kernel和userspace均可用)

bpftrace

Ftrace

  • function-graph tracer
  • function tracer
  • stack tracer

strace(查看系统调用)

gdb

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

  • 添加打印log
  • 打印stack - 如:linux kernel中的dump_stack()
相关推荐
ernesto_ji16 分钟前
Jenkins下载安装、构建部署到linux远程启动运行
linux·servlet·jenkins
李迟30 分钟前
某Linux发行版本无法使用nodejs程序重命名文件问题的研究
java·linux·服务器
施努卡机器视觉34 分钟前
电解车间铜业机器人剥片技术是现代铜冶炼过程中自动化和智能化的重要体现
运维·机器人·自动化
徐浪老师36 分钟前
深入实践 Shell 脚本编程:高效自动化操作指南
运维·chrome·自动化
King's King39 分钟前
自动化立体仓库:详解
运维·自动化
东隆科技41 分钟前
晶圆测试中自动化上下料的重要性与应用
运维·自动化
酷酷学!!!1 小时前
Linux基础指令(汇总)
linux·运维·服务器
枫叶丹41 小时前
【在Linux世界中追寻伟大的One Piece】手写序列化与反序列化
linux·运维·网络
SchneeDuan1 小时前
建造者模式
运维·服务器·建造者模式