我想用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'