xuefeihumei 发表于 2016-05-28 20:06

kgdb调试内核问题

小弟初次使用kgdb调试内核,能够通过串口连接kgdb。但是在断点时,遇到以下提示:
Single stepping until exit from function raw_sendmsg,
which has no line number information.

意思说是没有信息。请问这地方该怎样改?

还有,如果我想让内核停在某一行处,该用什么命令添加断点?例如停在 net/ipv4/raw.c:543处,

nswcfd 发表于 2016-05-30 10:20

内核不是-g编译的吧,缺少debug信息?

nswcfd 发表于 2016-05-30 10:35

kgdb是在kernel里实现了一个gdb的stub么?
如果是,那跟普通gdb的调试命令应该是一样的。

drivemyself 发表于 2016-05-31 16:21

回复 2# nswcfd


内核能够-g编译吗?-g加在哪里?

drivemyself 发表于 2016-05-31 16:23

回复 3# nswcfd


对的,但是好像是说没有行信息。

nswcfd 发表于 2016-05-31 18:54

ifdef CONFIG_DEBUG_INFO
KBUILD_CFLAGS   += -g
KBUILD_AFLAGS   += -gdwarf-2
endif

ifdef CONFIG_FUNCTION_TRACER
KBUILD_CFLAGS   += -pg
endif

nswcfd 发表于 2016-05-31 18:54

依赖于CONFIG_DEBUG_INFO

nswcfd 发表于 2016-05-31 19:09

Kernel Hacking -> Kernel debugging -> Compile the kernel with debug info(可能需要翻页)

xuefeihumei 发表于 2016-06-01 10:47

回复 6# nswcfd


感谢!

xuefeihumei 发表于 2016-06-01 10:48

回复 7# nswcfd


    感谢!
页: [1] 2
查看完整版本: kgdb调试内核问题