使用挥码枪进行内核调试-加载内核符号及源代码

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-04-23 09:02