我该如何调试Ubuntu的内核?

如何调试Ubuntu的内核?是否有可用的调试符号,还是应该重新编译带有调试信息的内核?
2个回答

内核团队有一个很棒的维基页面
它有一个内核调试页面,你可以在那里找到:
  • 调试场景
  • 调试指南
  • 调试工具/信息
要确定哪些指南与您的问题相关,请参阅基于内核/调试/症状的调试指南。

1-1 ,你实际上没有回答问题“是否有可用的调试符号,还是我需要重新编译带有调试信息的内核?”在维基页面上的哪个指南适用于使用常见工具如perf进行通用内核调试? - Stefan Lasiewski

这个页面上可以找到有用的信息。

https://wiki.ubuntu.com/Kernel/Systemtap

具体来说
sudo tee /etc/apt/sources.list.d/ddebs.list << EOF
deb http://ddebs.ubuntu.com/ precise          main restricted universe multiverse
deb http://ddebs.ubuntu.com/ precise-security main restricted universe multiverse
deb http://ddebs.ubuntu.com/ precise-updates  main restricted universe multiverse
deb http://ddebs.ubuntu.com/ precise-proposed main restricted universe multiverse
EOF

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ECDCAD72428D7C01
sudo apt-get update
sudo apt-get install linux-image-$(uname -r)-dbgsym

现在我只需要找出Debian的等效物。