


资源介绍
Linux 调试技术进阶培训(第二部分)(中文字幕英文视频教程)
(一)模块 1:课程导论(Linux Debug Training Part2 Introduction)
作为课程开篇,本模块聚焦 “学习准备” 与 “内容概览”,帮助学习者快速建立课程认知,明确学习目标与前置要求。核心内容包括:
课程框架介绍:通过视频(Introduction.mp4)与 PDF 课件(Linux-Debug-Training-Introduction.pdf),梳理第二部分课程的核心模块(追踪、性能分析、内核调试)、学习路径与重点难点,让学习者清晰掌握整体学习节奏。
实操环境搭建:提供《课程示例构建指南》(Instruction for building course examples.txt),详细说明课程所有演示案例的依赖环境、编译步骤与运行配置,确保学习者可复现所有实操内容,避免因环境问题影响学习效率。
配套资料说明:明确课程示例文件(Course Examples.txt)、课件文档(Course Slides.txt)的使用场景,例如示例文件对应后续模块的实操演示,课件文档可作为课后复习的核心资料,帮助学习者合理利用资源。
本模块视频附带中文字幕(Introduction-zh-Hans.srt),降低语言理解门槛,确保不同基础的学习者均可顺利入门。
(二)模块 2:Linux 系统追踪技术(Module 5 Tracing in Linux)
“追踪” 是 Linux 调试的核心技术之一,用于捕捉系统运行中的动态行为(如函数调用、事件触发、资源调度等),定位 “何时发生问题”。本模块围绕 “用户态追踪”“内核态追踪”“高级追踪工具” 三大维度展开,包含 20 个核心学习资源(12 个视频 + 8 份文档),具体内容如下:
1. 基础追踪技术:从用户态到内核态
用户态应用追踪:通过视频(Userspace application tracing.mp4)与演示代码(Demonstration code for ltrace.txt),讲解 ltrace 工具的使用方法,实现对用户态程序库函数调用的追踪,例如定位程序调用某个库函数时的参数异常、返回值错误等问题。
用户级探针(Uprobe):视频(User Level Probe Uprobe.mp4)结合实操代码(Demonstration code for Uprobe.txt),介绍 Uprobe 的原理与配置方式 —— 通过在用户态程序的指定位置插入探针,实时捕捉程序执行路径,适用于无源码场景下的用户态程序调试。
内核态追踪基础:聚焦内核级探针(Kprobe)与内核事件追踪,通过视频(Kernel Level Tracing.mp4)、辅助脚本(Helper script for Kporbe.txt)及内核示例代码(Linux Kernel Sample code for Kporbe.txt),演示如何通过 Kprobe 追踪内核函数调用,定位内核模块中的逻辑错误或性能瓶颈。
2. 核心追踪工具:Perf 与 Ftrace
Perf 工具全家桶:作为 Linux 系统原生的性能分析与追踪工具,本模块通过 4 个视频 + 2 份文档深入讲解 Perf 的核心能力:
Perf 用户态追踪(User level tracing with Perf.mp4):结合演示代码(Demonstration code for perf.txt),实现对用户态程序的事件追踪(如 CPU 周期、指令执行次数);
Perf 事件追踪(Perf event tracing.mp4):讲解如何通过 Perf 捕捉内核事件(如进程调度、中断处理),并提供《Perf 工具构建指南》(Building Linux perf tool.txt),解决不同 Linux 发行版下 Perf 工具的编译与安装问题;
Perf 动态追踪点(Perf Dynamic Tracepoints.mp4):介绍动态追踪点的创建与使用,无需修改内核或应用代码,即可在运行时添加追踪点,灵活捕捉特定场景下的系统行为。
Ftrace 内核追踪:视频(Ftrace.mp4)与辅助脚本(Helper scripts for Ftrace.txt)结合,讲解 Ftrace 的核心功能(如函数调用追踪、延迟统计),例如通过 Ftrace 分析内核函数的执行耗时,定位内核态的延迟问题(如调度延迟、IO 等待延迟)。
3. 高级追踪工具:从 tracecmd 到 eBPF
tracecmd 与 Kernel Shark:通过 2 个视频(tracecmd.mp4、Kernel Shark.mp4)讲解 tracecmd 工具的事件采集能力,以及 Kernel Shark 的可视化分析功能 —— 前者可高效记录内核事件日志,后者通过图形化界面展示事件时序,帮助学习者直观分析事件之间的依赖关系(如 “进程切换” 与 “IO 完成” 的时间关联)。
eBPF 技术栈:作为 Linux 调试的 “下一代核心技术”,本模块通过 3 个视频 + 3 份文档系统讲解 eBPF 的基础与实践:
eBPF 入门(eBPF introduction.mp4):介绍 eBPF 的原理、应用场景(如网络性能分析、安全监控),并提供官方文档链接(eBPF official website.txt),方便学习者深入拓展;
BCC 与 BPF Trace 工具:视频(BCC Tools.mp4、BPF Trace tool.mp4)结合工具说明文档(BCC Tools.txt、BPF trace tool.txt),演示如何通过 BCC 框架快速编写 eBPF 程序,以及通过 BPF Trace 工具实现高效的事件追踪;
eBPF 开发架构(eBPF development infrastructure.mp4):讲解 eBPF 的开发流程、工具链(如 clang、llvm)及 libbpfbootstrap 框架的使用(Building BPF applications with libbpfbootstrap.txt),为学习者开发自定义 eBPF 程序提供指导。
4. LTTng 追踪框架
LTTng(Linux Trace Toolkit Next Generation)是专注于高并发、低开销的系统追踪工具,本模块通过 3 个视频 + 3 份文档讲解其核心能力:
LTTng 入门(LTTng Introduction.mp4):介绍 LTTng 的架构、优势(如低性能损耗、高事件吞吐量)及适用场景(如分布式系统追踪),并提供官方文档(LTTng Docs.txt);
LTTng 追踪点(LTTng Tracepoint.mp4):讲解如何通过 LTTng 预定义追踪点或自定义追踪点,捕捉内核与用户态事件;
LTTng 实操演示(LTTng Tracing Demonstration.mp4):结合演示代码(Demonstration code for LTTNg.txt),复现 LTTng 的事件采集、日志分析全流程,帮助学习者掌握实际应用方法。
本模块所有视频均附带中文字幕(如 tracecmd-zh-Hans.srt、eBPF introduction-zh-Hans.srt),并提供工具使用说明与演示代码,确保学习者 “学完即会用”。
(三)模块 3:Linux 性能分析技术(Module 6 Profiling in Linux)
“性能分析” 是 Linux 系统优化的核心手段,用于定位 “为何性能差”(如 CPU 占用过高、内存泄漏、IO 瓶颈)。本模块围绕 “内存分析”“执行效率分析”“可视化工具” 三大方向,包含 13 个核心学习资源(12 个视频 + 11 份文档),具体内容如下:
1. 性能分析基础与可视化
课程导论:视频(Profiling Introduction.mp4)与 PDF 课件(Module-6-Profiling-in-Linux.pdf)结合,梳理性能分析的核心指标(如响应时间、吞吐量、资源利用率)、分析流程(如 “定位瓶颈→验证优化→效果评估”),并通过课件文档(Module6 Slide deck.txt)提供理论框架总结。
数据可视化工具:视频(Data visualisation.mp4)聚焦性能分析结果的可视化呈现,重点讲解火焰图(Flamegraph)的原理与使用 —— 通过《火焰图说明文档》(Flamegraph.txt)与示例文件(Flamegraph example.txt),演示如何将性能数据转换为火焰图,直观定位 CPU 占用最高的函数调用链(如 “应用函数→库函数→内核函数” 的层级关系)。
2. 内存性能分析
针对 Linux 系统中常见的内存泄漏、内存占用过高问题,本模块通过 3 个工具的实操讲解,提供完整的内存分析解决方案:
Massif 工具:视频(Memory based profiling.mp4)结合演示代码(Massif demonstration code.txt),讲解 Massif(Valgrind 工具集的一部分)的使用方法,通过跟踪内存分配与释放,定位内存泄漏位置与内存占用峰值;
Heaptrack 工具:视频(Heaptrack.mp4)与演示代码(Demonstration code for heaptrack.txt)结合,介绍 Heaptrack 的高效内存追踪能力 —— 相比 Massif,Heaptrack 性能损耗更低,适用于生产环境下的内存分析,可快速定位 “频繁分配但未释放” 的内存块;
Memusage 工具:视频(Memusage.mp4)与演示代码(Demonstration code for memusage.txt)结合,讲解 Memusage 的轻量级内存统计功能,通过简单命令即可获取程序的内存使用概况(如总分配内存、峰值内存),适用于快速排查内存问题。
3. 执行效率与资源分析
执行性能分析:视频(Execution based profiling.mp4)讲解执行性能分析的核心思路(如采样分析、事件计数),并介绍如何结合 Perf 工具定位 CPU 瓶颈(如高频调用的函数、长时间占用 CPU 的线程)。