上面已经提到,使用Watch窗口可以观察变量并改变变量的值。但当要查看的变量的作用域不在当前设置的断点范围内时,则可使用访问堆栈(Call Stack)命令来查看。
1)在CCS主界面的菜单栏中选择Debug→Halt命令或单击调试工具栏上的Halt按钮或按〈Shift+F5〉组合键,中断程序运行。
2)查看volume.c程序文件的源代码,注意到*input在main和processing两函数中定义,在dataIO函数中没有定义。
3)将光标放在dataIO函数中return行。
4)单击工程工具栏上的Debug:Toggle Breakpoint按钮、或按〈F9〉键、或双击源程序编辑窗口该行的左侧灰色部分设置断点。由于该行不是一个有效行,因此CCS自动将断点设在下一个有效行。
5)按〈F5〉键或单击调试工具栏上的Run按钮运行程序。程序将运行到dataIO函数结尾处的断点时停止运行。
6)在Watchl窗口输入*input,指示变量为一个未知的标识符,这是因为*input在dataIO函数中没有定义。
7)在菜单栏中选择View→Call Stack命令,将在Watch窗口左侧看到Call Stack窗口。在CallStack窗口单击main(),观察到*input在main函数的值为0,如图6-49所示。如果读者更改sine.dat文件,则其值可能改变。(www.xing528.com)
图6-49 单击Call Stack窗口main()查看Watch窗口
8)单击Call Stack窗口的最后一行“_args_main()”,如图6-50所示,可见gain为一个全局变量,但*input不是。
图6-50 单击Call Stack窗口最后一行查看Watch窗口
9)在Call Stack窗口中单击鼠标右键,在弹出菜单中选择Hide命令。
10)移去第4步中设置的断点(将光标放在datalO函数中return行后,单击工程工具栏按钮或按〈F9〉键)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。