首页|资源下载
登录|注册

您现在的位置是:首页 > 技术阅读 >  使用 SourceInsight 的第四大理由,关键中的关键

使用 SourceInsight 的第四大理由,关键中的关键

时间:2022-09-29

来源:公众号【鱼鹰谈单片机】

作者:鱼鹰Osprey

ID   :emOsprey


在前面的笔记《》中,鱼鹰介绍了使用 SourceInsight 的几个理由,说第三个理由很关键,也很有用,但是我发现低估了这个软件的功能。最近耳边常常听到 VS Code 很香,说是神器什么的,简单用过之后,发现并不是那么好用,最重要的一点回跳功能就让人非常不爽,组合快捷键是 ctr + alt + -,你没看错,就是三个键组合,必须三个指头同时使用才能往回调(虽然可以修改快捷键,但还是感觉不舒服),我点点鼠标它不香吗?编辑方面,我无法判断两者之间的优劣,但要说看不熟悉的代码,SI 在鱼鹰心里就是神器,没有之一,特别是让鱼鹰发现了它的第四点功能。
最近鱼鹰给各位道友提供了 CDC 代码供参考,文章中也写到建议使用 SI 查看,不知道有多少人尝试用它看代码了,不过看完本篇文章,你就会发现,香,真香!
一个变量或函数在哪里使用了?这个用第三点理由足够了,但是你知道调用该函数或变量的上一级是谁吗?再上一级又是谁?比如鱼鹰想看 USBD_WriteEP 这个函数被谁调用了,通过打开关系图,我们就可以清晰的知道调用者:嘿,这个函数的调用关系还挺复杂的,并且可以看到有个函数和本身一样,并不算调用者,而是声明。点击上述函数,即可看到声明位置:但是我想看这些调用者又是被谁调用的,又该怎么办?把鼠标移动到函数名后面,就会看到一个 + 号(如果看不到,可以暂停一会,如果还是看不到,看代码是否同步了或者该函数没有上级调用者):此时再点击左键,你就会看到这个函数上一级调用者再上一级嘞?可以看到,函数最终是被 main函数给调用了(还有其它几个分支可以自行分析)。这样,你就可以把 USBD_WriteEP 函数的所有关系都弄得清清白白,变量名同理。虽然函数的身世已经清清白白了,但有些函数身世太复杂,又要看代码,又要看关系,窗口大小不够用啊,此时,你可以把它拖出来(SI版本为4.0):整屏看:如果是双屏,放到另一个屏中,看的更爽!如果觉得占位置,往回拖就行了。每次查看源码,关系图就变了,咋办?锁住它就 OK 了。只要你不主动刷新(右边按钮为刷新),关系图就不会变化。并且还可以多看一个(锁定后,首先找下一个需要查看的函数或变量,然后点击以下按钮关闭再打开即可看俩关系图):拖出来,两个屏就都是关系图了(没错,鱼鹰用双屏):那怎么往回缩呢?还有一种方法是,在需要展开和回缩的函数或变量里点击右键,即可看到缩放按钮:看到这里,还不试试吗?


推荐阅读:






-THE END-


如果对你有帮助,记得转发分享哦


微信公众号「鱼鹰谈单片机

每周一更单片机知识

长按后前往图中包含的公众号关注


鱼鹰,一个被嵌入式耽误的畅销书作家

个人微信「EmbeddedOsprey

长按后打开对方的名片关注