0

我正在尝试分析我在 bazel 下使用pprof. 我能够生成配置文件,但是当我在 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

如何访问源代码信息?

4

1 回答 1

0

默认情况下,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
于 2019-09-29T16:02:17.243 回答