Как поставить точку останова для метода go с помощью gdb или delve - PullRequest
1 голос
/ 23 марта 2019

Я хочу отладить код go. Я хочу поставить точку останова на метод (принадлежащий именованному типу) в импортированном пакете. Я просмотрел много онлайн-материалов, в которых они ставили точки останова только на номер строки в файле (например: breakpoint a.go:15).

Я много отлаживал в 'C', где ставил точки останова для функций. Возможна ли такая отладка на ходу ??

В моем основном пакете следующий код.

clientContext := sdk.Context(fabsdk.WithUser("Admin"), fabsdk.WithOrg("ordererorg")).

Я хочу поставить точки останова на

1) функция WithUser(), которая принадлежит пакету fabsdk в файле github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/context.go.
2) метод Context(), относящийся к типу FabricSDK в файле github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/fabsdk.go в пакете fabsdk.

Возможно ли поставить точки останова для метода WithUser() и context() или точки останова разрешены только для номера строки в файле ?? Я мог бы использовать либо gdb, либо delve, либо любой другой отладчик.

1 Ответ

1 голос
/ 24 марта 2019

Если у вас есть версия github.com/hyperledger/fabric-sdk-go/pkg/fabsdk/context.go, которая использовалась для создания вашего двоичного файла Go - например, в вашем каталоге src или vendor - тогда просто откройте этот файл и найдите WithUser и поместите точку останова в ее первую строку.

...