跟踪

使用 Ptrace 去拦截和仿真 Linux 系统调用

使用 Ptrace 去拦截和仿真 Linux 系统调用

ptrace(2)(“进程跟踪”)系统调用通常都与调试有关。它是类 Unix 系统上通过原生调试器监测被调试进程的主要机制。它也是实现 strace(系统调用跟踪)的常见方法。
使用 ftrace 跟踪内核

使用 ftrace 跟踪内核

ftrace,它是添加到内核中的第一款跟踪工具,今天我们来看一下它都能做什么,让我们从它的一些重要术语开始吧。
ftrace:跟踪你的内核函数!

ftrace:跟踪你的内核函数!

ftrace 是一个 Linux 内核特性,它可以让你去跟踪 Linux 内核的函数调用。为什么要这么做呢?好吧,假设你调试一个奇怪的问题,而你已经得到了你的内核版本中这个问题在源代码中的开始的位置,而你想知道这里到底发生了什么?
Linux 中的 DTrace :BPF 进入 4.9 内核

Linux 中的 DTrace :BPF 进入 4.9 内核

随着 BPF 追踪系统(基于时间采样)最后一个主要功能被合并至 Linux 4.9-rc1 版本的内核中,现在 Linux 内核拥有类似 DTrace 的原生追踪功能。这个帖子将告诉你怎么去用这些 BPF 提供的前端工具,以及畅谈这项技术将会何去何从。
使用 Linux 的 strace 命令跟踪/调试程序的常用选项

使用 Linux 的 strace 命令跟踪/调试程序的常用选项

在调试的时候,strace能帮助你追踪到一个程序所执行的系统调用。当你想知道程序和操作系统如何交互的时候,这是极其方便的,比如你想知道执行了哪些系统调用,并且以何种顺序执行。 这个简单而又强大的工具几乎在所有的Linux操作系统上可用,并且可被用来调试大量的程序。 命令用法 让我们看看strace命令如何追踪一个程序的执行情况。 最简单的形式,strace后面可以跟任何命令。它将列出许许多多的系统调用。一开始,我们并不能理解所有的输出,但是如果你正在寻找一些特殊的东西,那么你应该能从输出中发现它。 让我们来看看简单命令ls