Skip to main content
本节介绍用于诊断系统和性能问题的内核调试功能。

启用动态调试

debugfs 文件系统允许您通过在运行时启用日志来调试内核。在验证特定场景时,使用 debugfs 文件系统在特定时间启用日志。 默认情况下,动态调试处于禁用状态。要在内核中启用 debugfs,请执行以下操作:
  1. 启用 CONFIG_DYNAMIC_DEBUG 内核配置选项。
  2. 重新编译并重新烧录构建。
  3. 要挂载 debugfs 文件系统,请运行以下命令:
    1. 通过检查以下路径是否存在来验证是否已启用动态调试:
    2. 如果该目录存在,请验证已定义的日志:
  4. 为需要调试的文件或函数启用调试日志。 例如:
    • 要启用 mdp.c 文件中的所有 debugfs 日志,请运行以下命令:
    • 要启用 mdp.c 文件中第 2921 行的日志,请运行以下命令:
  5. 使用 dmesg 命令验证日志,或运行以下命令:
    有关更多信息,请参阅 Documentation/dynamic-debug-howto.txt

启用内核调试选项

您可以启用内核配置选项来调试各种问题,例如内存泄漏、锁相关问题和 mutex 问题。要查看可用的内核调试选项,请调用 menuconfig。有关内核调试选项的更多信息,请参阅配置内核 以下是一些调试选项: Kernel hacking [*] Kernel debugging [*] Detect Soft Lockups [ ] Collect scheduler statistics [*] Debug slab memory allocations [*] Memory leak debugging [*] Mutex debugging, deadlock detection [*] Spinlock debugging [*] Sleep-inside-spinlock checking [ ] kobject debugging [ ] Highmem debugging [ ] Compile the kernel with debug info
如果启用这些调试选项中的任何一个,内核速度会略微降低。因此,如果您注意到性能有所下降,请禁用内核调试配置选项。