Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 调试时无法按名称找到静态变量_C_Debugging_Static_Iar - Fatal编程技术网

C 调试时无法按名称找到静态变量

C 调试时无法按名称找到静态变量,c,debugging,static,iar,C,Debugging,Static,Iar,我的一个编译单元中有一个静态变量,在编译时没有优化: static __no_init enum_type status; 我试图在调试器中查看此变量,但找不到它。逐步执行更新状态的函数可以看到要写入特定内存地址0xFB9F8的预期值 但是,该内存地址似乎没有名称。以下是链接器映射显示的内容: NEAR_N Relative segment, address: 000FB9F8 - 000FB9F8 (0x1 bytes), align: 0 Segment part 3.

我的一个编译单元中有一个静态变量,在编译时没有优化:

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

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

NEAR_N
  Relative segment, address: 000FB9F8 - 000FB9F8 (0x1 bytes), align: 0
  Segment part 3.             Intra module refs:   function1
                                                   function2
实际上,
function1
function2
等都是访问该变量的函数


如何使该变量在调试器中可见?

当问题已经写了一半的时候,我找到了解决方案,所以我决定用自己的答案发布它

无论如何,链接器选项中有一个设置,它正是我所需要的,毫不奇怪地被称为“模块本地符号”:


将其设置为“Include all”可使调试器可以使用静态变量。

当问题已经写了一半时,我找到了解决方案,因此我决定将其与自我回答一起发布

无论如何,链接器选项中有一个设置,它正是我所需要的,毫不奇怪地被称为“模块本地符号”:


将其设置为“Include all”可使调试器使用静态变量。

能否为正在使用的体系结构添加标记?此问题/解决方案可能仅限于某些版本的电子战。我知道EWARM中不存在该选项。请为您使用的体系结构添加一个标记,好吗?此问题/解决方案可能仅限于某些版本的电子战。我知道在EWARM中不存在这种选择。