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()
相关推荐
秦渝兴6 分钟前
用 Docker Compose 一键部署高可用集群(MySQL + Tomcat + Nginx)
运维·mysql·nginx·docker·容器·tomcat
code_pgf10 分钟前
Jetson 上 OpenClaw + Ollama + llama.cpp 的联动配置模板部署大模型
服务器·数据库·人工智能·llama
骇客野人14 分钟前
用python实现一个查询当天天气的MCP服务器
服务器·开发语言·python
吾诺20 分钟前
如何在Linux中找到MySQL的安装目录
linux·运维·mysql
lijwsunyt23 分钟前
Ubuntu虚拟机部署OpenClaw全踩坑实录|本地访问+模型配置一站式解决
linux·运维·ubuntu
夜猫子ing23 分钟前
《UNIX高级环境编程》 第十四章 高级I/O(一文读懂UNIX下高级I/O)
运维·服务器·网络
悲伤小伞29 分钟前
10-MySQL_事务管理
linux·数据库·c++·mysql·centos
钰衡大师33 分钟前
MySQL服务器表导入本地开发环境
服务器·mysql
朱一头zcy36 分钟前
Linux系列04:简单理解inode、硬链接、软链接、挂载的概念
linux·笔记
L16247644 分钟前
Nginx+Keepalived 高可用集群实战笔记
运维·笔记·nginx