linux - 当前的 Linux 内核调试技术

标签 linux debugging linux-kernel kernel core

Linux 机器在启动和运行软件(包括自定义驱动程序)后几个小时就死机了。我正在寻找一种调试此类问题的方法。最近,Linux 内核调试技术有了重大进展,不是吗?

我恳请分享一些关于这个主题的经验。

最佳答案

如果您可以在 VM 中重现该问题,确实有一种可能有用的相当新的 (AFAIK) 技术:从运行虚拟机的主机调试虚拟机。

例如看这个: Debugging Linux Kernel in VMWare with Windows host

VMware Workstation 7 还启用了一项强大的技术,让您可以确定地记录系统执行情况,然后根据需要重放,甚至可以倒放。因此,一旦系统崩溃,您就可以倒退并查看当时发生了什么(甚至尝试更改某些内容并查看它是否仍然崩溃)。 IIRC 我在某处读到你不能同时使用 VMware/gdb 调试内核。

显然,为此您需要一个 VMM。我不知道除了 VMware 的 VMM 系列之外还有什么 VMM 支持这个,我也不知道是否有任何免费的 VMware 版本支持这个。可能不会;人们真的不能指望一家商业公司免费赠送所有东西。试用版为 30 天。

如果您的自定义驱动程序用于机器内部的硬件,那么我想这可能行不通。

关于linux - 当前的 Linux 内核调试技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1762253/

相关文章:

c++ - 段错误调试器错误消息的含义?

asp.net-mvc-3 - ASP.NET MVC 在寻找瓶颈中迷失

linux - vmstat : What exactly does cpu wait mean?

c - 将内存从一个内核模块重新映射到另一模块中的 DMA 缓冲区

php - 在共享主机中允许覆盖所有

linux - 鼠标和键盘在带有最新埃图像的 beagleboard 的 qemu 仿真中不起作用

c++ - 使用 C++ (Linux) 更改 BlueFox3 相机的流帧速率?

c++ - 是否有任何标准方法可以将调试打印放入库中?

ios - 创建多个数组,这些数组将加起来成为一个最终数组。调试问题。 swift 和 Xcode

copy_to_user 未返回预期数据