Я хочу отладить программу с помощью delve.Однако я получил следующую ошибку.«Предупреждение: отладка оптимизированной функции»
Кажется, импортированный пакет оптимизирован.Есть ли способы избежать этой проблемы?
ошибка
250: if change {
251: return b.wallet.NewChangeAddress(defaultAccount, keyScope)
252: }
253:
=> 254: return b.wallet.NewAddress(defaultAccount, keyScope)
255: }
(dlv) s
> github.com/btcsuite/btcwallet/wallet.(*Wallet).NewAddress() ./pkg/mod/github.com/btcsuite/btcwallet@v0.0.0-20190213034619-b51c1adeee55/wallet/wallet.go:2939 (PC: 0x92a948)
Warning: debugging optimized function
исходный код
import (
base "github.com/btcsuite/btcwallet/wallet"
)
...
func (b *BtcWallet) NewAddress(t lnwallet.AddressType, change bool) (btcutil.Address, error) {
...
return b.wallet.NewAddress(defaultAccount, keyScope)
}
https://github.com/lightningnetwork/lnd/blob/master/lnwallet/btcwallet/btcwallet.go#L254
Обновление 1
Я обнаружил, что Makefile программы имел несколько конфигураций оптимизации.
https://github.com/lightningnetwork/lnd/blob/master/Makefile#L18
Я отключил оптимизациюи восстановить его, но он все еще не работает.
-LDFLAGS := -ldflags "-X $(PKG)/build.Commit=$(COMMIT)"
+LDFLAGS :=
-GOBUILD := GO111MODULE=on go build -v
+GOBUILD := GO111MODULE=on go build -v -gcflags '-N -l'