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()
相关推荐
一只积极向上的小咸鱼1 小时前
Codex Remote SSH / Dev Container 无限转圈与 GPT-6 可用问题排查总结
运维·gpt·ssh
智塑未来2 小时前
自动化立体库工业无线通信:AGV、AMR、RGV、穿梭车、无人叉车、堆垛机全覆盖
运维·自动化
T1mzhou3 小时前
ARM64 Linux 6.10内核启动流程7-ioremap和readl writel
linux·服务器·c语言
小羊没烦恼!3 小时前
Hello Web API系列教程——Web API与国际化
java·服务器·前端·javascript·php
Elastic 中国社区官方博客3 小时前
教程:使用 ES|QL 进行威胁狩猎
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索·安全威胁分析
bwz999@88.com4 小时前
Ubuntu Server 24.04 设置中文
linux·运维·ubuntu
fly-974 小时前
Ubuntu FTP/SFTP 报错:找不到匹配的 hostkey 算法 完整解决
linux·ubuntu
Cx330❀4 小时前
【Linux网络】网络层协议 IP :从网络层原理到 Linux 内核源码
linux·运维·服务器·网络·tcp/ip·ai·ai编程
志栋智能5 小时前
运维超自动化的变更管理实践
运维·自动化