Я хотел бы иметь возможность отлаживать код Geth Go, используя Intellij Webstorm.
В идеале я хотел бы запустить частный узел Geth внутри Webstorm и установить точку останова, но я также согласен на удаленное подключение к локальному узлу, который я запустил из командной строки.
Мне кажется, что точкой входа для Geth является main.go , однако, когда я пытаюсь запустить это, я получаю следующие ошибки:
.go/src/github.com/ethereum/go-ethereum/cmd/geth/main.go
# command-line-arguments
cmd/geth/main.go:112: undefined: configFileFlag
cmd/geth/main.go:143: undefined: initCommand
cmd/geth/main.go:144: undefined: importCommand
cmd/geth/main.go:145: undefined: exportCommand
cmd/geth/main.go:146: undefined: removedbCommand
cmd/geth/main.go:147: undefined: dumpCommand
cmd/geth/main.go:149: undefined: monitorCommand
cmd/geth/main.go:151: undefined: accountCommand
cmd/geth/main.go:152: undefined: walletCommand
cmd/geth/main.go:154: undefined: consoleCommand
cmd/geth/main.go:154: too many errors
Может ли кто-нибудь помочь мне с тем, как именно я могу запустить Geth из Webstorm, то есть не из скомпилированного, geth, двоичного файла, пожалуйста?
--- Обновление после попытки запуска из пакета вместо файла ---
К сожалению, когда я устанавливаю пакет «github.com/ethereum/go-ethereum/cmd/geth», я получаю следующие ошибки:
/usr/local/go/bin/go build "-ldflags=-linkmode internal" -o /tmp/___main_go github.com/ethereum/go-ethereum/cmd/geth
# github.com/ethereum/go-ethereum/cmd/geth
github.com/ethereum/go-ethereum/vendor/github.com/karalabe/hid(.text): relocation target __pthread_unwind_next not defined
github.com/ethereum/go-ethereum/vendor/github.com/karalabe/hid(.text): undefined: "__pthread_unwind_next"
Сначала убедитесь, что у вас установлена последняя версия EAP 15, 173.2696.28, и вы используете последнюю версию Go, 1.9, так как это предпочтительнее для более удобной отладки из-за недавних улучшений Go в отношении отладки.
Затем перейдите в «Выполнить» | Редактировать конфигурации | Перейти приложений | выберите конфигурацию запуска, которую вы хотите изменить | Запустите kind и измените его на File
from Package
. Затем введите имя пакета, например, github.com/ethereum/go-ethereum/cmd/geth
и сохраните настройки. Затем перейдите в «Выполнить» | Отладка... и выберите конфигурацию запуска, которую вы редактировали ранее, и выберите ее в качестве запуска отладки.
Я также создал небольшое видео, которое поможет вам изменить Run kind
конфигурацию запуска, вы можете посмотреть его здесь .
MIkCode
Нулик
go run ... geth.go
. Вы узнали, как удалить эти ошибки?Стив Джексон