在go中查看函数调用图,下载并使用callvis
解决go拉取包之后,command not found问题
先贴一个callvis官网
callvis官网
在go中可以使用callvis来观察函数调用图。
然而在下载并使用callvis时我遇到了一些问题,具体来说,我在下载之后callvis之后,使用时无法找到go-callvis命令。
callvis下载:直接在命令行中执行以下命令:
go install github.com/ofabry/go-callvis@latest
go install github.com/ofabry/go-callvis@master
下载完成以后可以运行
go-callvis -h
如果成果运行,说明已经成功下载callvis,可以正常使用。
未成功需要检查GOBIN目录是否正确配置,并重新下载callvis。
然而我在下载完成之后运行callvis命令时,显示无法找到callvis命令,排查后发现是由于我的GOBIN目录没有正确设置导致的。
我们都知道,命令行执行的是一个可执行文件。使用go install命令会编译并安装指定的 Go 源代码文件或包到指定的GOBIN目录下,输入命令行,这个可执行文件会被执行。如果未正确设置GOBIN环境变量,那么找不到拉取的可执行文件,命令行当然不能被执行。
解决command not find问题
因此要用以下步骤解决command not find问题
1.查看当前GOBIN环境变量
go env | grep GOBIN
2.设置GOBIN环境变量为你go项目的BIN目录
export GOBIN=/path/to/your/go/project/bin
3.重新下载callvis
go install github.com/ofabry/go-callvis@latest
go install github.com/ofabry/go-callvis@master
检验
现在在你的go项目的bin目录下存在可执行文件go-callvis说明已经下载成功,现在你可以执行一下这个可执行文件了
最后修改bashrc文件
vim ~/.bashrc
在bashrc中加入以下行
alias callvis='你的go-callvis地址'
保存并退出bashr
source ~/.bashrc
好了现在你可以愉快的使用callvis了,使用
callvis /your/main/package
愉快的查看你的代码调用图吧,注意callvis后跟的参数一定要是main package地址哦。