1、 文档目标
了解在MDK调试过程中Symbols窗口中包含的信息。
2、 问题场景
用于解决在MDK调试过程中,需要确认工程中所有的变量信息,想要确认变量的地址、偏移量等信息。

图 2-1
3、软硬件环境
1)、软件版本:Keil MDK 5.38a
2)、电脑环境:Windows 11
3)、外设硬件:Ulink Pro
4、解决方法
1)、进入到Debug模式后,可以通过菜单View->Symbols Window打开查看变量的窗口(如图4-1-1),或者通过工具栏中的Symbols Window按钮打开(如图4-1-2)。

图 4-1-1
图4-1-2
2)、Symbols Window窗口中一共是分为三栏:
(1)、Module\Name:显示符号的名称。
在Module中会默认显示三个组件:
a、Virtual Registers:显示虚拟寄存器(VTREGs)访问模拟资源,如输入/输出引脚、通用异步收发传输器(UARTs)或控制器局域网(CANs)。
b、Special Function Registers:显示特殊功能寄存器访问特定设备的外设寄存器。
c、Program Variable:显示工程中所包含的变量、函数、参数信息。
(2)、Location:显示内存地址、偏移量或注释信息。
(3)、Type:显示符号类型;对于函数显示返回类型。

图4-2
3)、在Symbols窗口中可以看到主函数main的内存地址是0x080001CC。返回类型是int类型。通过代码和汇编窗口就可以确认数据的正确与否。(如图4-3)

图4-3
4)、并且,对于函数中调用的结构体信息也会进行展示出来,显示该结构体的所有变量信息,类型信息也会显示出来。(如图4-4)

图4-4
5)、通过Symbols窗口就可以进一步地了解工程中的变量定义情况、内存地址、偏移量等各项的变量信息。