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()
相关推荐
Johny_Zhao14 分钟前
CentOS Stream 10安装部署Zabbix 7.0网络监控平台和设备配置添加
linux·网络·网络安全·docker·信息安全·云计算·apache·zabbix·devops·yum源·huawei·系统运维·itsm·华三
zly886537215 分钟前
MLX5 Linux 驱动代码分析
linux·运维·fpga开发
小oo呆17 分钟前
【学习心得】WSL2安装Ubuntu22.04
linux
国科安芯21 分钟前
高精度降压稳压技术在现代工业自动化中的应用
运维·自动化
code monkey.31 分钟前
【寻找Linux的奥秘】第五章:认识进程
linux·运维·硬件
愚润求学31 分钟前
【Linux】动静态库的使用
linux·运维·服务器·开发语言·c++·笔记
三天不学习32 分钟前
Vue3 本地环境 Vite 与生产环境 Nginx 反向代理配置方法汇总【反向代理篇】
运维·nginx·vue3·vite·反向代理
云途行者33 分钟前
windows、Ubuntu、Debian 添加静态路由
linux·windows·ubuntu
2401_831501731 小时前
Linux之Yum源与Nginx服务篇
linux·运维·nginx
cdut_suye1 小时前
【Linux系统】从 C 语言文件操作到系统调用的核心原理
java·linux·数据结构·c++·人工智能·机器学习·云计算