Godbach 发表于 2009-07-30 18:44

原帖由 ljqy 于 2009-7-30 17:16 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
即便写驱动,调试时我尽量用buildin方式,这样用gdb定位bug比较方便

那你直接gdb 内核镜像了吗?

ckf513728912 发表于 2011-01-06 14:23

一分党学习

lixinwei1985@si 发表于 2011-01-06 14:37

{:3_179:}

chishanmingshen 发表于 2014-09-12 13:10

回复 1# Godbach


    我也碰到这个问题了。
    只有这个.symtab会报错,其他section是ok的。

    报这个warning后,根本不能正常看变量!

Tinnal 发表于 2014-09-12 20:35

回复 14# chishanmingshen


    GDB肯定是不能装载内核模块的:
1. KO并不是一个应用程序,是没有链接完毕的。调试他们就等于调试一下.o文件,你觉得可能吗?
2. KO里头调用户的符号是内核符号,在应用空间根本没办法进行符号重定向。
。。。

KO必须通过insmod由内核装载并链接。GDB只能调试一个已经装载的内核模块。调试方式可能通过:
1. proc/kmem
2. QEMU
3. 硬件仿真器

add-symbol-file是在模块已经装载,GDB也已经成功Attach到目标,后用来加载符号方便调试用户的。


具体的方法,自己Google 一个debug kernel module就有很多。下面就是其中一个:
http://www.linux.com/learn/linux-training/33991-the-kernel-newbie-corner-kernel-and-module-debugging-with-gdb

不懂,多google,多百度!

chishanmingshen 发表于 2014-09-16 21:02

回复 15# Tinnal

thanks~

:)

   
页: 1 [2]
查看完整版本: gdb调试ldd3中的scull.ko的问题