Как отладить гет с Голандом? - PullRequest
0 голосов
/ 12 октября 2018

Я бы хотел иметь возможность отладки с помощью кода Go Geth - используя Goland.

Мне кажется, что точкой входа для Geth является main.go, однако, когда я пытаюсь запустить это, яполучить следующие ошибки:

GOROOT=/usr/local/Cellar/go/1.11/libexec #gosetup
GOPATH=/Users/codet/go #gosetup
/usr/local/Cellar/go/1.11/libexec/bin/go build -o /private/var/folders/6t/tdn_s_2x2rx1scn774cwvlph0000gn/T/___geth_go -gcflags "all=-N -l" /Users/codet/go/src/github.com/ethereum/go-ethereum/cmd/geth/main.go #gosetup
# command-line-arguments
cmd/geth/main.go:136:3: undefined: configFileFlag
cmd/geth/main.go:177:3: undefined: initCommand
cmd/geth/main.go:178:3: undefined: importCommand
cmd/geth/main.go:179:3: undefined: exportCommand
cmd/geth/main.go:180:3: undefined: importPreimagesCommand
cmd/geth/main.go:181:3: undefined: exportPreimagesCommand
cmd/geth/main.go:182:3: undefined: copydbCommand
cmd/geth/main.go:183:3: undefined: removedbCommand
cmd/geth/main.go:184:3: undefined: dumpCommand
cmd/geth/main.go:186:3: undefined: monitorCommand
cmd/geth/main.go:186:3: too many errors

Compilation finished with exit code 2

Я добавил точку отладки в функцию main, но она не сработала.

func main() {
    if err := app.Run(os.Args); err != nil {
        fmt.Fprintln(os.Stderr, err)
        os.Exit(1)
    }
}

1 Ответ

0 голосов
/ 13 октября 2018

Чувак, попробуйте эту команду go build -x path-to-go-ethereum/cmd/geth/*go, вы увидите, что происходит с флагом -x.Вместо этого следует скомпилировать пакет.В goland щелкните правой кнопкой мыши по папке geth, просто выберите run-> go bulid, и вы получите то, что ожидаете.

...