7.9.1.23.使用符号作为表达式

可以在“Watch”窗口中将符号名指定为表达式。如果一个符号是在 C 或 C++ 源文件中定义的(且目标文件包含符号调试信息),则该符号被视为表示指定地址处存储器内容的变量。

“Watch”窗口接受标准 C 表示法。若要查看符号的值,只需指定符号名称。在符号名称前面加一个 & 符号,显示符号在存储器中的位置的地址。

image0

同样,指定符号名称以查看定义字符串的符号的值。“Watch”窗口显示字符串第一个字符的地址。展开表达式以查看数组中每个元素的内容。

image1

符号调试信息

Code Composer Studio IDE 根据目标文件是否包含符号调试信息来对符号进行不同的处理。

默认情况下,在编译 C/C++ 源文件时指定符号调试信息 (-g)。按照“使用符号作为表达式”中描述的方式处理源文件中定义的符号。

如果没有符号调试信息,所有符号都被视为地址。

例如,在“Watch”窗口中使用符号名称来指定表达式时:

  • 如果提供了符号调试信息,则“Watch”窗口中显示由符号名称(变量)表示的存储器位置处的值。
  • 如果未提供符号调试信息,则“Watch”窗口只能指示某个地址存在标签。“Watch”窗口中显示符号的地址。要显示由符号表示的存储器位置处的值,必须在符号名称前面加上星号 (*)。

注意:对于支持多页的实际或模拟目标存储器配置(程序、数据和 I/O),您可以使用 @ 符号指定特定页面。在存储器地址之后,输入 @ 符号,后跟相应页面的关键字:

关键字 存储器类型
编程 编程
数据 数据
IO I/O
数据字节 数据字节

___

示例:

*(int*)0x1000@prog

*(int*)0x1000@data

或者

Ox1000@DATA

Ox1000@IO

Ox1000@DATA_BYTE

Ox1000@PROG

这些表达式可在“Watch”窗口中使用,也可在可以使用 GEL 表达式的任何位置使用。

___

另请参阅:

GEL 函数:按字母顺序排列的列表