繁体   English   中英

使用 bazel 构建的二进制文件在 pprof 中查看源代码

[英]Viewing source code in pprof with bazel built binary

我正在尝试分析我使用pprof在 bazel 下构建的二进制文件。 我能够生成配置文件,但是当我在 web UI 中查看它时,我在源代码视图中看不到我的代码。 我看到?? s 代替。

以下是我正在使用的命令:

CPUPROFILE=/tmp/cpu_profile bazel run --linkopt='-lprofiler' //my:binary

pprof -http=localhost:8000 -lines bazel-bin/my/binary /tmp/cpu_profile

如何访问源代码信息?

默认情况下,bazel 使用fastbuild compilation_mode构建二进制文件,它没有链接源代码所需的所有必要调试信息。

要解决此问题,请使用dbg模式进行分析:

CPUPROFILE=/tmp/cpu_profile bazel run -c dbg \
  --linkopt='-lprofiler' \
  //my:binary

或者在优化的构建中包含调试信息:

CPUPROFILE=/tmp/cpu_profile bazel run -c opt \
  --copt=-g \
  --linkopt='-lprofiler' \
  //my:binary

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM