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()
相关推荐
AI浩2 小时前
【Labelme数据操作】LabelMe标注批量复制工具 - 完整教程
运维·服务器·前端
石像鬼₧魂石2 小时前
如何配置Fail2Ban的Jail?
linux·学习·ubuntu
sunxunyong2 小时前
doris运维命令
java·运维·数据库
Guheyunyi3 小时前
智慧消防管理系统如何重塑安全未来
大数据·运维·服务器·人工智能·安全
椰子今天很可爱3 小时前
五种I/O模型与多路转接
linux·c语言·c++
Lueeee.3 小时前
Linux kernel Makefile 语法
linux
爱吃山竹的大肚肚5 小时前
EasyPOI 大数据导出
java·linux·windows
极地星光5 小时前
dmesg 工具的核心功能与作用
linux
雾削木5 小时前
k230 Pyhton三角形识别
运维·服务器·网络·stm32·智能路由器
北京聚信万通科技有限公司6 小时前
传输协议:AS3
服务器·网络·安全·电子数据交换·as3