1. 排查内存泄漏
memory.c


memory.bt

可以执行相关memory,用bpftrace追踪malloc和free的过程

修改memory.bt,加上malloc和free统计,重新执行


2. 验证tcp连接关闭是应用关闭还是内核关闭
nginx服务启动后,会处于监听状态,当客户端与nginx服务建立成功后,如果经历post_accept_timeout秒后仍然没有收到用户数据,则内核会直接丢弃连接,可以使用bpftrace验证这个场景nginx显式调用close是应用关闭还是内核释放
nginx关闭连接是调用nginx_close_connection进行关闭的

nginx.bt


可以根据打印结果,可以发现是nginx显式调用ngx_close_connection关闭连接的
3. 追踪线程创建过程
pthread.c

编译
gcc -o pthread pthread.c -lpthread
pthread.bt


4. pbftrace内核中打印连接的地址信息
transmit_skb.bt

