我正在尝试在编译Linux内核后使用eclipse调试Linux。 我创建了一个新项目,现在运行 - >调试配置我给了vmlinux的路径。 给了TCP端口并点击了DEBUG。 我得到了以下错误
"/home/linux-kernel/vmlinux":
not in executable format: File format not recognized TCP port and clicked on debug.
请指出我哪里出错了。
答案 0 :(得分:1)
Linux内核不是可执行程序。它占据了整个计算机。因此,您需要在不同的PC或PC模拟器上运行内核,如qemu。
这是一篇博客文章,详细说明了如何设置所有内容:Debugging the Linux kernel using Eclipse/CDT and Qemu
您收到的错误表明您未正确配置远程调试。 Eclipse尝试像普通程序一样启动Linux内核,而不是连接到正在运行的qemu。请参阅此处如何配置启动配置以进行远程调试:
单击“Debugger”选项卡,然后在“Debugger”列表框中选择“gdbserver Debugger”。
接下来,将“在启动时停止:”修改为“start_kernel” 在此之下,您会注意到一个名为“Debugger Options”的框架;
单击此框架中的“连接”选项卡,将“类型”修改为“TCP”,将“端口号”修改为1234.
单击“调试”按钮继续。
如果不起作用,请确保qemu实际使用端口1234
。