Por va programa de depuración remota Goland combinación delve

1. Causa

A veces hay muchos proyectos se basan en el servidor, algunos pueden depender, por cualquier razón sólo puede ejecutarse en entorno Linux, o demasiados paquetes dependen, en definitiva, no es conveniente ejecutar proyectos a nivel local, sólo puede depurar de forma remota.


2. Instalar delve

Este comando está instalado en un servidor que ejecuta delve

go get -u github.com/go-delve/delve/cmd/dlv

3. Compilar el proyecto

Recuerde añadir -gcflags='all=-N -l
aquí asumir que el compilador es main.go

go build -gcflags="all=-N -l"  ./main.go

4. Iniciar el modo de depuración programa servidor

Una forma: código de depuración intrusiva

Es en el proceso de puesta en servicio del
supuesto de que el programa mainse está ejecutando en la
primera ps -aux | grep mainvista del programa principal PIDy luego iniciar la depuración invasión

dlv attach $PID --headless --api-version=2 --log --listen=:1234

Segunda manera: Iniciar el proceso de depuración

dlv --listen=:1234 --headless=true --api-version=2 --accept-multiclient exec ./main

5.Goland depuración

下面这几步很重要!!!!

GOPATH proyectos locales actuales designado
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción

Añadir las estrategias de depuración remota
Aquí Insertar imagen Descripción

Host , es que se puede Unicom dirección IP de la máquina o el nombre de un servidor remoto, puerto , es sólo DLV especificado cuando la depuración inicia puerto de escucha
Aquí Insertar imagen Descripción

Editor de arriba a la derecha, seleccione el nombre de la política de depuración remota, lleva el nombre de la etapa anterior y, a continuación, haga clic en el bicho verde
Aquí Insertar imagen Descripción

La exitosa puesta en marcha
Aquí Insertar imagen Descripción

6. Fin de depuración

Después del final de la depuración local, si el programa quiere suspender el servidor, CTRL + C no es capaz de terminar el programa, por lo que es necesario forzar killa cabo el servicio
ps -aux | grep dlv
ps -aux | grep main
de retorno
root 27089 8.0 2.1 297472 39812 pts/1 Sl 12:34 0:00 dlv --listen=:8888 --headless=true --api-version=2 --accept-multiclient exec ./main

root 3157 0.0 0.4 148296 8496 pts/1 Sl 11:59 0:00 ./main

Luego matar separado


7. Por último, la nota

Después de completar el código para cambiar el servidor remoto debe volver a compilar local! ! ! De lo contrario el tiempo de depuración será el caso
Aquí Insertar imagen Descripción
Aquí Insertar imagen Descripción

Publicado 48 artículos originales · ganado elogios 56 · Vistas a 20000 +

Supongo que te gusta

Origin blog.csdn.net/zhetmdoubeizhanyong/article/details/105171611
Recomendado
Clasificación