Source Insight 查看函数调用关系使用技巧

用处

要想了解大型工程的运行原理和过程,分析其函数调用关系是一个很有用的方法。比起自己一个个搜索、记录,使用工具效率会更高。Source Insight 就有一个显示函数调用关系的功能,非常好用。

PS:之前我都是手动搜索、记录,去理清函数调用关系。甚至添加打印,在程序运行时理清函数调用关系。现在回想起来好低能且低效。

操作

如图所示,点击①处的【Relation Window】按钮,就会出现右侧【Relation】窗口。该窗口下方有三种显示模式可供选择,我比较喜欢垂直的图像显示模式(如果调用关系能从上到下显示,而不是从下到上显示,就更好了),并且该窗口默认只显示一层调用关系,我们需要显示更多,这个后面会讲。当你随便点击源码中的某个函数或变量时,【Relation】窗口就会展示出该函数或变量的调用关系。
在这里插入图片描述
如果有时点击了函数,【Relation】窗口中的图像没有变化,可以点击②处的按钮重新生成一下。

过滤

不过,可以看到,【Relation】窗口中的函数调用关系貌似有点问题
在这里插入图片描述
怎么 hostapd_add_iface 显示调用了它自己,看代码也没发现它是递归函数呀,怎么回事。仔细看了一下,发现这两个函数前的图标不一样,鼠标悬停在它俩上方,发现下边那个是函数声明,上边那个才是函数定义。显然,我们只关心函数定义,声明在这里只会徒增麻烦,那怎样才能去掉呢?
在这里插入图片描述
点击【Relation】窗口下方的设置按钮,会弹出【Relation Window Options】窗口,上文中提到的层级也是在这里设置的,我这里设置为了最大也就是 10 级。然后点击【Symbol Types Filter】按钮,取消勾选【Function Prototype】,勾选这个选项会显示函数原型,也就是函数声明
在这里插入图片描述
点击【OK】,然后【Relation】窗口就变成了下图
在这里插入图片描述
很清晰明了了有木有。

优化

还没完,我们还可以点击【Graph Options】来修改显示元素的属性,让显示更加美观。
在这里插入图片描述
修改后
在这里插入图片描述
完结!

  • 47
    点赞
  • 157
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Li-Yongjun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值