调试

时间:2016-09-06 10:27:33

标签: c debugging static iar

我的一个编译单元中有一个静态变量,它是在没有优化的情况下编译的:

static __no_init enum_type status;

我正在尝试在调试器中查看此变量,但我找不到它。逐步执行更新status的函数我可以看到要写入特定内存地址0xFB9F8的预期值。

但是,该内存地址似乎没有名称。以下是链接器映射显示的内容:

NEAR_N
  Relative segment, address: 000FB9F8 - 000FB9F8 (0x1 bytes), align: 0
  Segment part 3.             Intra module refs:   function1
                                                   function2

实际上,function1function2等是访问该变量的函数。

如何在调试器中显示该变量?

1 个答案:

答案 0 :(得分:2)

当问题已经半写时,我找到了解决方案,所以我决定发布一个自我答案。

无论如何,链接器选项中有一个设置可以满足我的需要,并且毫不奇怪地被称为"模块本地符号":

enter image description here

将其设置为"包括所有"使静态变量可用于调试器。