我ARMv7用作目标机器.我已经2.6.34.13为目标编译了Linux源代码.
Target使用minicom通过串口连接Host(Linux Development machine).
Target加载了新内核,并在命令提示符下启用了KGDB.
$ echo ttyAMA0 > /sys/module/kgdboc/parameters/kgdboc
$ echo g > /proc/sysrq-trigger
Run Code Online (Sandbox Code Playgroud)
显示输入KGDB ...消息并等待命令.
在主机方面,
$arm-none-linux-gnueabi-gdb vmlinux
gdb > set remotebaud 115200
gdb > set debug remote 1
gdb > target remote /dev/ttyS0
Run Code Online (Sandbox Code Playgroud)
在此之后,默认情况下会发生一些命令通信.
qSupported从主机发送到目标.但目标不支持qSuppoted,因此返回$#00.同样?,HC-1发送命令但收到适当的响应.
但qOffsets命令没有收到目标的任何响应.
我怀疑是vmlinux.因为如果我放弃listgdb,它就不会显示10行代码
arch/arm/kernel/head.S : No such file or directory.
Run Code Online (Sandbox Code Playgroud)
注意::在服务器中完成的内核编译.因此在开发机器中没有可用的源.但看起来,arm-gdb正在寻找头部.
我不确定我在做什么错.我需要为整个内核加载符号.在这方面指导我.