如下图所示,定义的全局变量lx在expressions的窗口一直显示0,但实际值已经置位为1,同时,软件可以进入当lx等于1时的if条件下的语句中,但语句内的静态变量赋值后再expressions窗口也不能正确显示值为1,而是一直保持0.请问如何处理?

This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
如下图所示,定义的全局变量lx在expressions的窗口一直显示0,但实际值已经置位为1,同时,软件可以进入当lx等于1时的if条件下的语句中,但语句内的静态变量赋值后再expressions窗口也不能正确显示值为1,而是一直保持0.请问如何处理?

非常感谢回复!继续往下执行也不会正确显示值,在view memory的与expressions的值一致;但同时定义的变量类型为char类型,多个变量存储在同时定义的第一个变量的地址空间内,仅第一个变量的值正确显示。
经多次调试发现,工程中定义的全局变量过多,将大部分全局变量去除编译后,变量的值可以同时在view memory和expressions里正确显示,此时,变量的存储地址与不去除全局变量时一致,多个变量存储在同时定义的第一个变量的地址空间内。
请问问什么全局变量过多会出现以上情况:定义的全局变量的大小有限制吗?如何取消对全局变量大小的限制?
工程在cmd文件内没设置.bss段的大小,且工程中未使能任何cache,所有代码运行在DDR中。以上变量均定义为函数内部volatile static类型,第一次提问时定义为static和全局变量,但现象均一致。