请问如何识别各个函数之间的调用关系?

go2love · 2022-09-23 01:00:56 · 1622 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2022-09-23 01:00:56 的主题,其中的信息可能已经有所发展或是发生改变。

如题,前几天研究了一下go-callvis工具,发现尝试各种方法都在windows上安装不上,而且回复的人也不多,有没有更普及、更易用的方法?


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1622 次点击  
加入收藏 微博
9 回复  |  直到 2022-09-26 15:27:16
jan-bar
jan-bar · #1 · 2年之前

貌似我给了一个window可以编译成功的方法吧,linux编译按官方文档就可以成功。不过我window和linux都试了,GitHub文档里面那3个项目都没搞成功。

你可以试试go自带的pprof,这个可以生成火焰图那些图也有调用关系,只不过是在运行时执行过才行。

Mericusta
Mericusta · #2 · 2年之前

gopls 不够你用的?

go2love
go2love · #3 · 2年之前
jan-barjan-bar #1 回复

貌似我给了一个window可以编译成功的方法吧,linux编译按官方文档就可以成功。不过我window和linux都试了,GitHub文档里面那3个项目都没搞成功。 你可以试试go自带的`pprof`,这个可以生成火焰图那些图也有调用关系,只不过是在运行时执行过才行。

确实,你那个方法一看就是仔细摸索出来的,所以比较担心后续参考官方材料还会出更多的意外。还是感谢你的仔细指导。

go2love
go2love · #4 · 2年之前
MericustaMericusta #2 回复

gopls 不够你用的?

这个咋用?是那个右键函数可以看到谁引用了谁定义的吗?

Mericusta
Mericusta · #5 · 2年之前
go2lovego2love #4 回复

#2楼 @Mericusta 这个咋用?是那个右键函数可以看到谁引用了谁定义的吗?

是啊

Mericusta
Mericusta · #6 · 2年之前

另外,不需要 make 也能安装,打开 MakeFile 找到 go install/build,看看它们需要什么参数,自己拼好手动执行

lysShub
lysShub · #7 · 2年之前

那个我也用过,感觉就是个半成品。你要看函数调用链的话,pprof里面倒是挺完整的,只不过没运行到的不会显示

go2love
go2love · #8 · 2年之前
MericustaMericusta #6 回复

另外,不需要 make 也能安装,打开 MakeFile 找到 go install/build,看看它们需要什么参数,自己拼好手动执行

好的感谢感谢。

go2love
go2love · #9 · 2年之前
lysShublysShub #7 回复

那个我也用过,感觉就是个半成品。你要看函数调用链的话,pprof里面倒是挺完整的,只不过没运行到的不会显示

好的,感谢指导,我试下pprof。

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传