Ответ 1
Нашел ответ с помощью людей голанг-орехов. Мне нужно было указать двоичный файл:
go tool pprof mybinary http://localhost:9000/debug/pprof/profile
Таким образом, исходный код найден и может быть указан с помощью команды "list".
Я включил пакет 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?
Нашел ответ с помощью людей голанг-орехов. Мне нужно было указать двоичный файл:
go tool pprof mybinary http://localhost:9000/debug/pprof/profile
Таким образом, исходный код найден и может быть указан с помощью команды "list".
У меня была та же проблема с "net/http/pprof"
, хотя и на окнах.
Используя "runtime/pprof"
вместо этого, с pprof.StartCPUProfile / StopCPUProfile
решил.