当前位置: 首页 > news >正文

linux上trace code的几种方法

我们在看代码时,总是会遇到下面问题:
1.查看某个场景下的代码执行流

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

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

-------------------

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

  • BCC (linux kernel和userspace均可用)

    • iovisor/bcc: BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more
    • Linux eBPF Tracing Tools
    • 结合例子学习eBPF与bcc:u[ret]probe与USDT - 知乎
    • Intro to Kernel and Userspace Tracing Using BCC, Part 3 of 3
  • bpftrace

    • Linux eBPF Tracing Tools
  • Ftrace

    • function-graph tracer
    • function tracer
    • stack tracer
  • strace(查看系统调用)

  • gdb

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

  • 添加打印log
  • 打印stack - 如:linux kernel中的dump_stack()

http://www.lryc.cn/news/470549.html

相关文章:

  • 文件操作(1) —— 文件基础知识
  • 4K双模显示器7款评测报告
  • 2024.10.24华为(留学生)笔试题解
  • 基于neo4j的医疗问诊系统
  • java :String 类
  • 关于非中文或者url文本不换行的问题
  • LeetCode 热题 100之矩阵
  • YOlO系列——yolo v3
  • 基于Datawhale开源量化投资学习指南(11):LightGBM在量化选股中的优化与实战
  • Python4
  • springboot系列--web相关知识探索六
  • FreeSWITCH 简单图形化界面30 - 使用MYODBC时可能遇到的错误
  • 阿里云物联网的通信方式
  • 自由职业者的一天:作为小游戏开发者的真实工作日记
  • 【RL Latest Tech】分层强化学习:Option-Critic架构算法
  • 分布式数据库
  • MySQL(2)【库的操作】
  • python pip更换(切换)国内镜像源
  • 阿里云镜像源无法访问?使用 DaoCloud 镜像源加速 Docker 下载(Linux 和 Windows 配置指南)
  • 使用 BERT 和逻辑回归进行文本分类及示例验证
  • 【skywalking 】监控 Spring Cloud Gateway 数据
  • SpringWeb
  • 嵌入式刷题(day21)
  • OpenAI 下一代旗舰模型现身?奥尔特曼亲自辟谣“猎户座“传闻
  • 【C++】STL初识
  • 框架篇补充(东西多 需要重新看网课)
  • 合约门合同全生命周期管理系统:企业合同管理的数字化转型之道
  • 等保测评与风险管理:识别、评估和缓解潜在的安全威胁
  • Golang Agent 可观测性的全面升级与新特性介绍
  • SpringBoot的开篇 特点 初始化 ioc 配置文件