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()
相关推荐
施努卡机器视觉11 小时前
SNK施努卡车门自动化安装
运维·自动化
梁正雄11 小时前
linux服务-Nginx+Tomcat+Redis之Session 共享 - 容器compose
linux·nginx·tomcat
咕噜签名-铁蛋11 小时前
云服务器与物理服务器、VPS的区别
运维·服务器
恒创科技HK11 小时前
香港服务器流量有限制和带宽有限制区别在哪?
运维·服务器·网络
fengyehongWorld11 小时前
Linux rsync命令
linux
wanhengidc11 小时前
机架式服务器有什么作用?
运维·服务器·web安全·智能手机·云计算
干啥都是小小白12 小时前
Linux C编程
linux·运维·服务器
赖small强12 小时前
【Linux 网络基础】WebSockets 技术指南
linux·网络·https·websockets·ping/pong
司铭鸿12 小时前
化学式解析的算法之美:从原子计数到栈的巧妙运用
linux·运维·服务器·算法·动态规划·代理模式·哈希算法
❀͜͡傀儡师12 小时前
docker部署orion-ops一站式运维管理平台
运维·docker·github