我有一个扶手板,我通过电线连接我的linux(主机)系统。我在arm处理器中插入带有vmlinux.uimg的SD卡,并在主机系统上使用minicom。现在我想使用gdb在arm板上调试vmlinux。我需要做什么?我尝试在主机上的minicom和gdb上使用gdbserver。但我不知道它究竟是如何工作的...我应该在哪里复制vmlinux以及我应该如何调试...
答案 0 :(得分:2)
完整答案取决于您的Linux版本,开发和目标设置。以下是一些研究链接,
您需要使用 KGDB 支持配置内核,并且可以使用控制台作为链接来控制开发计算机中的 KGDB 。您需要开发计算机上的vmlinux目标文件的副本;如果它也是构建机器很容易。有GDB脚本可以访问内核中的便捷信息。这是GDB内核调试链接中的信息。
您不使用gdbserver
;这是针对用户空间的linux进程。用于调试内核的工具是 kgdb ,这需要将代码放入内核。通常,程序gdbserver
正在使用内核工具来控制进程。这对内核本身不起作用。
有可能并非所有串口都支持kgdb。某些版本的Linux允许kgdb over the network。但是,它不像串行端口那样存在于内核中。您可以使用内核参数kdbgoc
, sysfs 或magic sysreq激活kgdb over serial。某些设备(和Linux版本)可能支持JTAG类型kgdb。