在接手他人代码或调研一些开源项目时,如果能够理清其中的代码调用链路,这将加速我们对实现的理解。,本文介绍一款工具 go-callvis,它能够将 Go 代码的调用关系可视化出来,并提供了可交互式的 web 服务。,依赖,工具安装,示例,以上是一个简单的TCP服务端代码,通过 go-callvis 工具,可将其代码调用关系梳理出来。,go-callvis 默认将代码调用关系存储成 svg 格式的图形,并会在 http://localhost:7878 服务上进行展示。,
,在浏览器界面上,如果点击 log 单元,将会进入 log 模块的代码调用交互图中。,
,使用参数,go-callvis 默认以 main 作为链路起点进行分析,因此 package 需要为 main 包。,如果不想从 main 方法开始,那么需要使用 -tests 参数,并且在 yourpackage 下创建单元测试,在测试中调用你想要的起始点方法。,详细使用说明可通过执行 go-callvis 命令查看,每个参数都有对应的说明,无需详细介绍。,有几个比较有用的参数可以注意:nostd用以忽略标准库的调用;group用以对函数分类;include、limit、ignore参数则用以控制过滤或保留调用关系。,go-callvis 工具将 Go 程序函数调用关系通过图形可视化出来,它能帮助开发人员更好地梳理程序脉络。且 go-callvis 的使用非常简单,可以开箱即用。,之后同学们在接触复杂项目时,不妨用 go-callvis 试试看。
© 版权声明
文章版权归作者所有,未经允许请勿转载。