baonng 发表于 2012-8-15 10:01:00

Keil 局部变量查询总显示not in scope【悬赏问答】

大家好,刚开始玩STM32F4(相关资料下载),这两天问题较多,板子已经好了,在软件调试时,却发现无法查看变量值,特来求助。

lizhen5754 发表于 2013-6-29 08:53:16

RE:Keil 局部变量查询总显示not in scope【悬赏问答】

Keil默认优化是等级3,最高优化,这时就会把一些可有可无的操作优优掉,当然也会把仿真优化,所以你只需要把优化调为0,不优化,则没有有这个问题。

lincoln-396606 发表于 2012-11-9 22:53:00

回复:Keil 局部变量查询总显示not in scope【悬赏问答】

 对局部变量赋值后,要在后面使用该变量,keil里面才会显示出其状态

青檬 发表于 2012-8-29 16:54:42

RE:Keil 局部变量查询总显示not in scope【悬赏问答】

要想一直看这个变量,定义成全局的吧,我也碰过这个问题!

baonng 发表于 2012-8-15 10:03:49

RE:Keil 局部变量查询总显示not in scope

我的程序为us/osii+ucgui,480*272的液晶,开始不知为何,ucgui的demo显示总是320*240,我在LCDCONF.H中已经将修改了分辨率:
#define LCD_XSIZE          (480)
#define LCD_YSIZE          (272)

yjwpm 发表于 2012-8-15 10:04:46

RE:Keil 局部变量查询总显示not in scope

呵呵呵,局部变量想看到的话,需要在那个变量那里打一个断点,之后按一下F10就能看到了....

baonng 发表于 2012-8-15 10:25:49

回复:Keil 局部变量查询总显示not in scope

回复第 3 楼 于2012-08-15 10:04:46发表:
呵呵呵,局部变量想看到的话,需要在那个变量那里打一个断点,之后按一下F10就能看到了.... 

老大呀,我也知道要停下来看,可是你也看到截图了,在值那项显示的是:not in scope啊
  #if GUI_WINSUPPORT
    /* Calculate position and size of FrameWin */
    xSize = LCD_GetXSize() / 2;
    ySize = 65;
    xPos  = LCD_GetXSize() - xSize;
    yPos  = 0;
    /* Create info window and run the individual demos */
    _ahFrameWin = FRAMEWIN_Create("礐/GUI Demo", NULL, WM_CF_STAYONTOP,
                                     xPos, yPos, xSize, ySize);
//    _ahInfoWin = WM_GetFirstChild(_ahFrameWin);
    _ahInfoWin = WM_CreateWindowAsChild(0, 0, 0, 0, WM_GetFirstChild(_ahFrameWin), WM_CF_SHOW | WM_CF_STAYONTOP, 0, 0);
    WM_ExecIdle();
  #endif

baonng 发表于 2012-8-15 10:27:23

回复:Keil 局部变量查询总显示not in scope

回复第 2 楼 于2012-08-15 10:03:49发表:
我的程序为us/osii+ucgui,480*272的液晶,开始不知为何,ucgui的demo显示总是320*240,我在LCDCONF.H中已经将修改了分辨率:
#define LCD_XSIZE (480)
#define LCD_YSIZE (272) 

这个问题我想应该是网上下载下来的ucgui.lib库生成的问题,我重新有找了个,现在好了。

baonng 发表于 2012-8-15 14:34:01

RE:Keil 局部变量查询总显示not in scope

要沉了,请高手帮忙啊

zykzyk-93033 发表于 2012-8-24 21:55:37

RE:Keil 局部变量查询总显示not in scope【悬赏问答】

应该是还有地方没有修改完整。:D

wkuang 发表于 2012-9-2 00:26:29

RE:Keil 局部变量查询总显示not in scope【悬赏问答】

只能告诉你一个办法,你现在已经知道局部变量的地址,你可以查看内存memory,计算出来变量所在的内存,就知道局部变量是多少了。
你在mdk里无法查看变量值,多半是没有执行到这个函数中来,所以这个函数的局部变量根本就没有分配到内存,或者这个变量被编译器优化了,他在内存中根本不存在内存
我相信keil做的集成开发环境,呵呵

wkuang 发表于 2012-9-2 00:28:24

RE:Keil 局部变量查询总显示not in scope【悬赏问答】

还有一种情况可能会出现这种问题,就是你编译器优化 级别太高了,编译器为了优化, 并没有按照你想要做的事情去 汇编,这种情况你最好将优化选项设置为0,单步调试试试,
页: [1] 2 3
查看完整版本: Keil 局部变量查询总显示not in scope【悬赏问答】