Подтвердить что ты не робот

Профайлер Golang не может найти исходный код

Я включил пакет net/http/pprof в свой код. Затем я могу удобно запустить профилировщик pprof (на Debian):

go tool pprof http://localhost:9000/debug/pprof/profile

Команды, такие как top10 или даже генерация графиков вызовов, работают должным образом. Однако, как только я пытаюсь войти в функцию, она терпит неудачу:

(pprof) list MyFunc
No source information for mypkg.MyFunc

Мой GOPATH установлен в мою директорию проекта. Нужны ли мне какие-либо специальные флаги или переменные среды при создании исходного кода или при запуске pprof?

4b9b3361

Ответ 1

Нашел ответ с помощью людей голанг-орехов. Мне нужно было указать двоичный файл:

go tool pprof mybinary http://localhost:9000/debug/pprof/profile

Таким образом, исходный код найден и может быть указан с помощью команды "list".

Ответ 2

У меня была та же проблема с "net/http/pprof", хотя и на окнах. Используя "runtime/pprof" вместо этого, с pprof.StartCPUProfile / StopCPUProfile решил.