Задать вопрос

Почему не работает Debug в GoLand?

Вот такой код у меня

package main

import (
	"github.com/go-chi/chi"
	"log"
	"net/http"
	"os"
	"os/signal"
)

var DB map[string]string

func main() {

	stopchan := make(chan os.Signal)

	router := chi.NewRouter()

	router.Route("/", func(r chi.Router) {
		r.Get("/", GetIndexHandler)
		r.Post("/", GetPostIndexHandler)
	})

	go func() {
		err := http.ListenAndServe(":8080", router)
		log.Fatal(err)
	}()

	signal.Notify(stopchan, os.Kill, os.Interrupt)

	<-stopchan
}

func GetIndexHandler(w http.ResponseWriter, r *http.Request) {
	key := chi.URLParam(r, "key")
	value, exists := DB[key]

	if exists {
		w.Write([]byte(value))
	} else {
		w.WriteHeader(http.StatusNotFound)
	}
}

func GetPostIndexHandler(w http.ResponseWriter, r *http.Request) {
	key := chi.URLParam(r, "key")
	value := chi.URLParam(r, "value")
	DB[key] = value
	w.WriteHeader(http.StatusCreated)
	w.Write([]byte(value))
}


Хочу сделать остановку в момент пост запроса к серверу. Добавляю остановку в строчку соответствующую:
5e43fcc0c4f4b957574372.png
Запускаю Run -> Debug

Показывает вот такое:
5e43fd26b3471336398754.png

Строго говоря, раньше я не пользовался этим, а просто выводил значения в консоль. Но вот сейчас первый раз понадобилось и не понятно как настроить. Могу ли я что-то сделать в этой ситуации чтобы заработала точка останова и я мог видеть текущие значения переменных?
  • Вопрос задан
  • 610 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@PapaStifflera
Родился, вырос...
Потому, что ваше приложение падает при запуске. И даже ошибку выводит о том, что порт 8080 занят.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@bvv13
А у меня просто не останавливается в точке останова а проходит все точки до конца
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы