使用挥码枪进行内核调试-加载内核符号及源代码
1. 下载内核符号及内核源代码
在下方链接的页面选择对应版本的源代码和符号下载链接进行下载。
https://www.nanocode.cn/wiki/docs/gdk8_primer/gdk8_img_bom
2. 加载内核符号及源代码
2.1 打开Nano调试
2.2 打开内核调试,在设置对应的选项后,点击启动;内核调试的选项应参照下图进行设置。
2.3 当下方[break]按钮亮起后,发起中断。
2.4 当您可以在命令行内输入命令时,就代表GDK8已经被中断下来了。
2.5 设置符号及源代码路径
请勿更改vmlinux的名字
.sympath+ D:\gdk8\symbol
Symbol search path is: srv*c:\symbols* http://msdl.microsoft.com/download/symbols;D:\gdk8\symbol;C:\symbols;TGT*c:\symbols*
.srcpath+ D:\gdk8\source\kernel
Source search path is: D:\gdk8\source\kernel
2.6 使用.reload命令重新加载一下
.reload
Connected to Linux 8226 ARMv8 64-bit, 64bit
Loading Kernel Symbols
Opcode 0x38401401, DSCR.ERR=1, DSCR.EL=1
.Opcode 0x38401401, DSCR.ERR=1, DSCR.EL=1
.Opcode 0x38401401, DSCR.ERR=1, DSCR.EL=1
.Opcode 0x38401401, DSCR.ERR=1, DSCR.EL=1
.
Loading unloaded module list
Loading User Symbols
Can't create snapshot
Opcode 0x38401401, DSCR.ERR=1, DSCR.EL=1
Opcode 0x38401401, DSCR.ERR=1, DSCR.EL=1
Opcode 0x38401401, DSCR.ERR=1, DSCR.EL=1
Opcode 0x38401401, DSCR.ERR=1, DSCR.EL=1
lm
start end name
ffeeffee`7ffff000 ffeeffee`809ff000 nt (deferred)
ffffff80`011a5000 ffffff80`012b4000 bcmdhd (deferred)
ffffff80`012e5000 ffffff80`012eb000 ndb (deferred)
ffffff80`0807f800 ffffff80`0a2fda98 lk T (pdb/dwarf symbols) D:\gdk8\symbol\vmlinux
2.7 此时源代码窗口会自动弹出,并且这时我们可以看到完整的栈回溯信息。
作者:admin 创建时间:2022-06-22 10:11
最后编辑:admin 更新时间:2024-08-19 10:09
最后编辑:admin 更新时间:2024-08-19 10:09