有的小伙伴在使用Nanocode调试GDK7时候发现下图类似情形:

这是因为Nanocode没找到KdVersionBlock,按照下面步骤设置就可以找到了。

步骤 1: 连接到 GDK7

首先,我们需要使用串口连接到 GDK7。可以通过点击访问下面的教程了解具体如何操作:
WinDbg 使用串口调试 GDK7

步骤 2: 使用 WinDbg 中断 GDK7

在成功连接后,使用 WinDbg 将 GDK7 中断。中断后,输入以下命令来查看内存布局:

lm vm nt

记下显示的起始地址(例如 fffff804`04200000),请注意,每台机器显示的地址可能不同,需根据实际结果进行记录。

步骤 3: 查找版本块地址

接下来,输入以下命令查找版本块的具体地址:

x nt!kdversionblock

我们会看到类似 fffff804`04e0f408 的信息。记录这个地址,请注意,每台机器显示的地址可能不同,需根据实际结果进行记录。

步骤 4: 计算地址偏移

使用第二步和第三步中获得的地址来计算偏移值。例如,小编的地址是fffff804`04e0f408,那么就可以输入以下命令:

? fffff804`04e0f408-fffff804`04200000

命令执行后,会显示一个值(如 00c0f408),将这个值记录下来,请注意,每台机器显示的结果可能不同,需根据实际结果进行记录。

步骤 5: 修改配置文件

打开你的 Nanocode 安装目录,进入到 data 文件夹,找到 ndb.cfg 文件并用记事本打开。在 [syspara] 部分的下一行添加如下内容:

kd_version_block=00c0f408

这里的 00c0f408 是之前计算出的偏移值,根据我们的实际执行结果进行更改既可。

步骤 6: 重新使用 Nanocode 调试

完成以上步骤后,我们现在可以重新使用 Nanocode 来调试我们的 GDK7了。

作者:zuoyingying  创建时间:2024-04-26 10:19
最后编辑:zuoyingying  更新时间:2024-04-26 11:30