
我发现我可以使用一些添加调试支持(如 CONFIG_DEBUG_INFO)的标志来编译 Linux 内核。这些选项虽然在调试中很有用,但某些实用程序(例如 SystemTap)也需要这些选项。
我使用 SystemTap 是因为它允许我从整个系统获取所有系统调用(并且不会像使用 strace 跟踪所有进程那样挂起它)。
我想知道如何从内核读取这些信息(以不会造成如此大开销的方式)。
答案1
CONFIG_DEBUG_INFO
是关于使用调试符号(用于 gdb 或其他调试器)构建内核。它们与内核本身分开存储在磁盘上,并且不会从正在运行的内核副本中读取。