Детали трассировки стека Golang

Я надеялся, что кто-нибудь сможет объяснить мне одну небольшую деталь трассировки стека Golang, которая в основном игнорировалась учебниками, которые я читал. Пример трассировки стека, который я получил:


    goroutine 6 [running]:
    net/http.(*conn).serve.func1(0xc42005ad00)
        /usr/local/go/src/net/http/server.go:1491 +0x12a
    panic(0x8079e0, 0xc42000c0c0)
        /usr/local/go/src/runtime/panic.go:458 +0x243
    usos-shop-back/usosapi.GetJson(0x0, 0x7d7820, 0xc4202f6d00, 0x0, 0x0)
        /root/go/src/usos-shop-back/usosapi/usos-hackery.go:20 +0x38
    ...
    ...
    ...

Так что мне действительно любопытно, что означают +0x12a, +0x243, +0x38 после номера строки в коде, где произошла ошибка.

Спасибо, R.C.

P.S .: паника была вызвана нулевым указателем на func GetJson(*http.Response, interface{}) error


person Radosław Cymer    schedule 17.03.2017    source источник
comment
В этом разница между ПК фрейма стека и ПК ввода функций. (формат трассировки стека для конкретной реализации, вероятно, не является хорошей темой для вопросов для StackOverflow)   -  person JimB    schedule 17.03.2017
comment
@JimB, спасибо, тогда у меня есть несколько статей вики, которые нужно прочитать. Однако я хотел бы знать, почему это не хорошая тема для SO? Приводит ли это к огненным войнам? Для этого есть еще какой-нибудь XYZexchange?   -  person Radosław Cymer    schedule 17.03.2017
comment
Эта тема скорее серая область, в основном потому, что детали реализации могут не относиться ко всем популярным реализациям, могут меняться, а иногда и изменяться довольно быстро, оставляя вопросы или ответы устаревшими и / или вводящими в заблуждение. Не то чтобы формат трассировки стека, вероятно, изменится на этом этапе для go1, но, например, другой вывод GODEBUG значительно изменился между версиями, потому что он должен отражать реализацию.   -  person JimB    schedule 17.03.2017


Ответы (1)


В этом разница между ПК с фреймами стека и ПК для ввода функций.
благодаря JimB

person Radosław Cymer    schedule 17.03.2017