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()
相关推荐
帅得不敢出门12 分钟前
Android Framework在mk中新增类似PRODUCT_MODEL的变量并传递给buildinfo.sh及prop属性中
android·linux·前端
程序员_大白18 分钟前
区块链部署与运维,零基础入门到精通,收藏这篇就够了
运维·c语言·开发语言·区块链
德迅云安全—珍珍28 分钟前
2核2G的云服务器可以架设游戏吗?
运维·服务器·游戏
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.1 小时前
HAProxy状态页:运维监控实战指南
运维
陈聪.2 小时前
HRCE实验
运维
阿拉伯柠檬2 小时前
网络层协议IP(三)
linux·网络·网络协议·tcp/ip·面试
Miracle&2 小时前
在Linux VirtualBox中安装系统失败
linux·运维·服务器
ShoreKiten2 小时前
ctfshow-web316
运维·服务器·前端
网硕互联的小客服2 小时前
WIN系统和liunx系统如何构建自动化安全运维(DevSecOps)流程?
运维·自动化
hweiyu002 小时前
Linux 命令:ar
linux·运维