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()
相关推荐
风吹落叶花飘荡4 分钟前
从零开始的 vue项目部署到服务器详细步骤(vue项目build打包+nginx部署+配置ssl证书)
服务器·vue.js·nginx
很楠不爱6 分钟前
Qt——信号和槽
服务器·数据库·qt
神技圈子9 分钟前
【linux经典工具】作为一个合格的开发人员怎能不会tmux
linux·运维·服务器
龙萱坤诺11 分钟前
AI自动评论插件V1.3 WordPress插件 自动化评论插件
运维·人工智能·自动化
weixin_4483505012 分钟前
探索自动化数据清洗技术的前沿趋势
大数据·运维·自动化·数据治理·数据提取
Bold!22 分钟前
最新ubuntu22.04 下列软件包有未满足的依赖关系 解决方案
linux·运维·服务器
pyliumy43 分钟前
docker的安装配置与基本简单命令
运维·docker·容器
itachi-uchiha1 小时前
Linux特种文件系统--tmpfs文件系统
linux·运维·服务器
、十一、1 小时前
Linux中FTP安装
linux·服务器·网络
ahardstone1 小时前
Vim的简单使用
linux·编辑器·vim