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()
相关推荐
在野靡生.14 分钟前
Ansible(1)—— Ansible 概述
linux·运维·ansible
风123456789~17 分钟前
【Linux运维】查询指定日期的上月
linux·运维·服务器
zyk_52026 分钟前
Docker desktop如何汉化
运维·docker·容器
韭菜盖饭26 分钟前
解决Docker端口映射后外网无法访问的问题
运维·docker·容器
我没想到原来他们都是一堆坏人1 小时前
利用vmware快速安装一个可以使用的centos7系统
linux·虚拟机
x-cmd1 小时前
[250331] Paozhu 发布 1.9.0:C++ Web 框架,比肩脚本语言 | DeaDBeeF 播放器发布 1.10.0
android·linux·开发语言·c++·web·音乐播放器·脚本语言
weitinting1 小时前
Ali linux 通过yum安装redis
linux·redis
myloveasuka1 小时前
[Linux]从硬件到软件理解操作系统
linux·开发语言·c++
CC.cc.1 小时前
Linux系统之systemctl管理服务及编译安装配置文件安装实现systemctl管理服务
linux·运维·服务器
qq_339282232 小时前
docker之network
运维·docker·容器