AMDuProf 缺少 golang 源代码

问题描述 投票:0回答:1

我想使用 AMDuProf 分析器分析我的程序,但设置根/源文件夹不起作用,并且分析器仅显示反汇编代码。看起来,尽管(或一起)缺乏源代码,但它也缺乏调试符号,因为函数的形式为

processname<address offset>

我是否做错了什么或缺少某些探查器选项?我尝试使用“发布”/调试选项构建程序,但没有看到任何差异。

go optimization profiling amd-processor
1个回答
0
投票

我成功了。首先,我使用导出的未压缩的矮符号构建了应用程序:

go build -gcflags="all=-N -l -E" -ldflags="-compressdwarf=false" -o main.exe

下一步是使用

cv2pdb
工具将 dwarf 符号转换为 .pdb,因为在 Windows 上运行分析器非常重要。

即使我指定了探查器应在其中搜索 .pdb 文件的文件夹(

Add Symbol File Location(s)
字段),它也无法工作。我手动将 .pdb 文件复制到
Symbols Download Path
字段下的文件夹中,它神奇地开始工作。

编辑:似乎某些特定的事情偶然发生并起作用。所以这可能有效,但可能不会。

Edit2:Golang 似乎正在使用

DEBUG_STRIPPED
标志来制作可执行文件。手动删除该标志后,AMDuProf 可以正确显示符号。更多信息:https://community.amd.com/t5/server-gurus-discussions/amd-uprof-for-golang-on-windows10/m-p/606820/highlight/true#M1831

© www.soinside.com 2019 - 2024. All rights reserved.