实验性的Linux补丁允许内核跟踪在重启/崩溃后工作

2024年 3月 7日 62.5k 0


Steven Rostedt本周发布了一些有趣的Linux内核补丁,这些补丁虽然是实验性的,但支持在重启或崩溃过程中工作的持久跟踪。

试探性补丁允许在重新启动或崩溃时映射环形缓冲区实例,而不会丢失在调试问题中有用的信息。Rostedt解释了最初的内核补丁:

“这是一种在重启时映射环形缓冲区实例的方法。要求你有一个不被擦除的内存区域。我在Debian服务器上的QEMU上运行的Debian VM上测试了这一点,甚至在运行Fedora的裸金盒上测试了它。我很惊讶它在裸金盒上能工作,但它出人意料地始终如一地工作。”

..。

最后,这仍然是一个概念的证明。如何创建这种内存映射还没有决定。在这个补丁集中,我只是入侵了kexec崩溃代码,并硬编码了一个地址,适用于我的一台机器(对于另一台机器,我不得不四处寻找另一个地址)。也许我们可以添加一个内核命令行参数,让人们决定,或者一个选项,它可能会在ACPI(英特尔)表来拿出自己的地址。

无论如何,我计划使用它进行调试,因为它已经很有特色了,但还有更多的事情可以做。

基本上,你需要做的就是:

ECHO 1;/sys/kernel/tracing/instances/boot_mapped/events/enable

做任何你想做的事情,系统就会崩溃(并引导到同一个内核)。然后:

CAT/sys/kernel/tracing/instances/boot_mapped/trace

它会有痕迹的。

我相信这里仍然有一些陷阱,这就是为什么这目前仍然只是一个POC。“

看见本补丁系列 for this interesting work that will hopefully evolve and at some point make it into the mainline Linux kernel.

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论