gpt4 book ai didi

linux - 使用 GDB 调试设备驱动程序

转载 作者:太空狗 更新时间:2023-10-29 11:41:18 26 4
gpt4 key购买 nike

我是 Linux 设备驱动程序的新手。我第一天的任务是在 Linux 中使用 GDB 调试驱动程序。

  • 我需要调试一些 XYZ(PCIe 设备驱动程序支持以太网)设备驱动程序以了解流程以及设备寄存器和所有内容。

我已经用补丁文件和insmod命令安装了驱动。

设备工作正常。但是我没有得到任何调试设备驱动程序的解决方案

我所知道的就是如何在 Linux(fedora20) 中使用 GDB 调试 C 程序。我有一个 link类似于我的问题,但我也没有得到任何知识。

任何人都可以分享您对我如何从头开始的想法。我非常具体地了解在 Linux 中调试设备驱动程序。特别是我的驱动程序中的 initprobe 函数,我需要了解流程。

最佳答案

gdb debugger is useful调试 user-space应用程序级程序(因为它使用 ptrace(2) )。

对于内核代码,情况有所不同。考虑 using kgdb (我不知道细节)。您还可以添加 debug prints ....

我建议至少阅读更多关于操作系统的内容,例如Operating Systems: Three Easy Pieces (可免费下载),并阅读有关 Linux 编程的一些内容(可能是旧的 ALP ,还有 intro(2)syscalls(2) 和相关内容)。不敢编码 Linux loadable kernel modules不熟悉 Linux 编程(在用户领域)。另见 kernelnewbies .

顺便说一句,与内核模块相比,您应该更喜欢编写用户态代码。一个非常简单的经验法则是尽可能避免编写内核代码。

关于linux - 使用 GDB 调试设备驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47810552/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com