首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用gdb在Qemu上调试init

使用gdb在Qemu上调试init
EN

Stack Overflow用户
提问于 2013-04-29 07:47:23
回答 1查看 1.6K关注 0票数 4

我试图在Qemu上模仿cavium的mips64 linux内核,我目前在使用模式init代码上有一些问题,我想调试init.i正在使用命令行中的-s -S选项启动Qemu,并使用命令运行gdb。

调试器/OCTEON-SDK/tools/bin/mips64-octeon-linux-gnu-gdb /OCTEON-SDK/linux/kernel_2.6/linux/vmlinux

,然后用命令附加gdb。

目标远程本地主机:1234

gdb目前只显示在内核空间中运行的指令。

我想问的是,是否有任何方法可以一步一步地调试用户模式init和库指令,就像在内核空间中一样?例如,如果从init发出printf,那么我想知道库中正在执行哪些指令,以及控件是如何返回给内核的?

EN

回答 1

Stack Overflow用户

发布于 2017-10-08 21:13:54

我已经成功地使用了在:/sbin/init中描述的过程来调试BusyBox的/sbin/init

你唯一需要记住的额外的事情是:

  • /sbin/init只是一个指向busybox的符号链接,所以您必须使用/bin/busybox作为对象文件。
  • /sbin/init的“主”函数实际上是init_main,遵循BusyBox的惯例,将每个伪可执行文件调用为<exec>_main

这是有点片状,但大部分只是工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16273614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档