新闻  |   论坛  |   博客  |   在线研讨会
使用 SourceInsight 的第四大理由,关键中的关键
鱼鹰谈单片机 | 2021-02-02 13:11:04    阅读:1694   发布文章

在前面的笔记《使用SourceInsight的三大理由,最后一点是关键!》中,鱼鹰介绍了使用 SourceInsight 的几个理由,说第三个理由很关键,也很有用,但是我发现低估了这个软件的功能。

最近耳边常常听到 VS Code 很香,说是神器什么的,简单用过之后,发现并不是那么好用,最重要的一点回跳功能就让人非常不爽,组合快捷键是 ctr + alt + -,你没看错,就是三个键组合,必须三个指头同时使用才能往回调(虽然可以修改快捷键,但还是感觉不舒服),我点点鼠标它不香吗?

编辑方面,我无法判断两者之间的优劣,但要说看不熟悉的代码,SI 在鱼鹰心里就是神器,没有之一,特别是让鱼鹰发现了它的第四点功能。

最近鱼鹰给各位道友提供了 CDC 代码供参考,文章中也写到建议使用 SI 查看,不知道有多少人尝试用它看代码了,不过看完本篇文章,你就会发现,香,真香!

一个变量或函数在哪里使用了?

这个用第三点理由足够了,但是你知道调用该函数或变量的上一级是谁吗?再上一级又是谁?

比如鱼鹰想看 USBD_WriteEP 这个函数被谁调用了,通过打开关系图,我们就可以清晰的知道调用者:

1.png

嘿,这个函数的调用关系还挺复杂的,并且可以看到有个函数和本身一样,并不算调用者,而是声明。

点击上述函数,即可看到声明位置:

2.png

但是我想看这些调用者又是被谁调用的,又该怎么办?

把鼠标移动到函数名后面,就会看到一个 + 号(如果看不到,可以暂停一会,如果还是看不到,看代码是否同步了或者该函数没有上级调用者):

3.jpg

此时再点击左键,你就会看到这个函数上一级调用者

4.png

再上一级嘞?

5.png

可以看到,函数最终是被 main函数给调用了(还有其它几个分支可以自行分析)。

这样,你就可以把 USBD_WriteEP 函数的所有关系都弄得清清白白,变量名同理。

虽然函数的身世已经清清白白了,但有些函数身世太复杂,又要看代码,又要看关系,窗口大小不够用啊,此时,你可以把它拖出来(SI版本为4.0):

6.png

整屏看:

7.png

如果是双屏,放到另一个屏中,看的更爽!

如果觉得占位置,往回拖就行了。

每次查看源码,关系图就变了,咋办?锁住它就 OK 了。

8.png

只要你不主动刷新(右边按钮为刷新),关系图就不会变化。并且还可以多看一个(锁定后,首先找下一个需要查看的函数或变量,然后点击以下按钮关闭再打开即可看俩关系图):

9.png

拖出来,两个屏就都是关系图了(没错,鱼鹰用双屏):

10.png

那怎么往回缩呢?

11.png

还有一种方法是,在需要展开和回缩的函数或变量里点击右键,即可看到缩放按钮:

12.png

看到这里,还不试试吗?

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客