今天公司新人问我,Keil这个编译器怎么查看一个函数都在哪里被调用?我脱口而出 辣鸡软件只能用Ctrl F慢慢找。。要么你就先用SourceInsight编辑代码,改好了再去编译吧。
好好的编译器怎么会没有这个最基本的功能呀??
想着这个问题,于是就有了今天的意外之喜~
操作方法如下:
在View中调出SourceBrowser这个窗口,将需要查找定义及调用位置的 函数、变量、宏等复制到Symbol处,回车 你就可以看到Definitions&References了,双击可以跳转到对应的代码位置。这个窗口里面还有Filter滤波器和一些条件勾选,大家自行尝试吧。
是不是看上去好像也没比Ctrl F方便多少?
上图左下角是我查找的结果,其实也很方便了呢,但是仔细一看就会发现 查找给出了32个结果,而Browser中显示真正被调用的地方只有十几处。很明显,Ctrl F是文本查找,结果中包含注释以及没有参与编译的部分,比如下面这一处调用就是调试代码:
用惯了SourceInsight的话还是会觉得Keil不太方便,但是有时候进行Debug的过程中再反复切换SourceInsight也很麻烦。还是有点作用吧。
好了,记录一下,希望对大家有也点帮助。