问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何从起点调试linux内核

发布网友 发布时间:2022-04-23 09:17

我来回答

2个回答

热心网友 时间:2022-04-09 23:47

Linux内核调试方法
kdb:只能在汇编代码级进行调试;
  优点是不需要两台机器进行调试。
  gdb:在调试模块时缺少一些至关重要的功能,它可用来查看内核的运行情况,包括反汇编内核函数。
  kgdb:能很方便的在源码级对内核进行调试,缺点是kgdb只能进行远程调试,它需要一根串口线及两台机器来调试内核(也可以是在同一台主机上用vmware软件运行两个操作系统来调试)
printk() 是调试内核代码时最常用的一种技术。在内核代码中的特定位置加入printk() 调试调用,可以直接把所关心的信息打打印到屏幕上,从而可以观察程序的执行路径和所关心的变量、指针等信息。 Linux 内核调试器(Linux kernel debugger,kdb)是 Linux 内核的补丁,它提供了一种在系统能运行时对内核内存和数据结构进行检查的办法。Oops、KDB在文章掌握 Linux 调试技术有详细介绍,大家可以参考。 Kprobes 提供了一个强行进入任何内核例程,并从中断处理器无干扰地收集信息的接口。使用 Kprobes 可以轻松地收集处理器寄存器和全局数据结构等调试信息,而无需对Linux内核频繁编译和启动,具体使用方法,请参考使用 Kprobes 调试内核。
/proc文件系统
在 /proc 文件系统中,对虚拟文件的读写操作是一种与内核通信的手段,要查看内核回环缓冲区中的消息,可以使用 dmesg 工具(或者通过 /proc 本身使用 cat /proc/kmsg 命令)。清单 6 给出了 dmesg 显示的最后几条消息。
清单 6. 查看来自 LKM 的内核输出
[root@plato]# dmesg | tail -5
cs: IO port probe 0xa00-0xaff: clean.
eth0: Link is down
eth0: Link is up, running at 100Mbit half-plex
my_mole_init called. Mole is now loaded.
my_mole_cleanup called. Mole is now unloaded.

可以在内核输出中看到这个模块的消息。现在让我们暂时离开这个简单的例子,来看几个可以用来开发有用 LKM 的内核 API。
调试工具
  使用调试器来一步步地跟踪代码,查看变量和计算机寄存器的值。在内核中使用交互式调试器是一个很复杂的问题。内核在它自己的地址空间中运行。许多用户空间下的调试器所提供的常用功能很难用于内核之中,比如断点和单步调试等。

热心网友 时间:2022-04-10 01:05

1。printk ,以及系统日志。阅读源码,想象代码运行的情况,结合打印的信息,推测问题所在。
2。内核调试器,例如 Kgdb 。

3。user mode linux 。

4。在虚拟机上调试。例如 Bochs 。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么word换行的时候不对齐? 老人各类心脏病的急救方法有哪些呢? 老人心脏病突然发作怎么办 老人突发心脏病该如何急救呢? TAO黄子韬 tao什么学校毕业? 红楼梦第14回特色句92句精选 今天出院又入院医保 FPM看这一篇就够了 “更何入他不二门”的出处是哪里 水晶泥是什么? iPhone自动填充密码登陆app为什么要我进钥匙库点选择一下? 马上要去厦门旅游,选择自由行,想在当地找个导游,有没有人能提供信息? opporeno5pro什么屏幕 qemu可以调试驱动吗 王爽汇编语言课程设计2实验环境具体怎么弄,还有程序设计好后是直接在DOS下运行还是在软盘下? 每次登陆什么东西都有钥匙串跳出来,咋取消 激光打标机的日期可以自动更新吗 水晶泥的玩法是怎么样的? 水晶泥的玩法都有哪些? mac锁定钥匙串后没新建密码导致的应用程序无法响应如何解决 opporeno5pro屏幕多大尺寸 打号机的日本MAX线号机 如何在kvm服务器上创建虚拟机 打码机打出来的字体是什么字体? 微机。MOV CS,AX 是错的。那MOV AX,CS 对不对呢? 激光打标机日常维护? linux内核调试的主要方法 求android下可以模拟dos,debug的软件。 长沙高桥哪家文具店有年月日打码机买 想去厦门旅游,哪里可以找到 厦门导游 激光打标机可以在不锈钢金属铭牌上打日期吗? 日化激光打标机的作用是什么?主要能够打印哪些信息? 正在厦门自由行,请问哪里能雇到导游呢?求介绍 opporeno5pro手机屏幕碎了 白色水晶泥有些什么玩法? 为什么激光打标机不能设置打标日期实时同步? 森系简单气质的网名有哪些? 厦门旅游找私人导游安全吗? 水晶泥怎么玩才能永久保持洁净? 怎样把在线视频的声音剪辑下来?用什么软件最好? 仙女ins森系网名2字有哪些? 水晶泥怎么玩? OPPO Reno5 Pro+屏幕碎了怎么办? 哪里可以找到 厦门当地导游? 森系网名简单气质 OPPOreno5PrO的屏幕与VⅰVOX27的屏幕有什么不一样? 请问厦门旅行是报团好还是找当地导游好?(在网上找的导游靠谱吗? 带鹿的森系网名有哪些? 哪里可以找到 厦门当地导游