我正在尝试使用 调试 Linux 内核Virtualbox
,但无法使其工作。
这是我所做的。
使用以下配置编译内核
CONFIG_HAVE_ARCH_KGDB=y CONFIG_KGDB=y CONFIG_KGDB_SERIAL_CONSOLE=y CONFIG_KGDB_TESTS=y CONFIG_KGDB_TESTS_ON_BOOT=y CONFIG_KGDB_TESTS_BOOT_STRING="V1F100" CONFIG_KGDB_LOW_LEVEL_TRAP=y CONFIG_KGDB_KDB=y CONFIG_KDB_DEFAULT_ENABLE=0x1 CONFIG_KDB_KEYBOARD=y CONFIG_KDB_CONTINUE_CATASTROPHIC=0 CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
安装编译好的内核。
添加启动参数
kgdbwait kgdboc=ttyS1,115200
而且它不会等待KGDB
。但是,当我尝试仅使用串行端口来获取启动过程输出时,console=tty0 console=ttyS0,115200
它就可以工作了。
内核是Linux/x86 4.9.16 Kernel
(Kali linux)。