내가 아는 한, 당신이 설명한 방식으로 이것을 수행하는 내장 된 방법은 없습니다. 하지만 디버그 디버거가 실행 중임을 나타 내기 위해 빌드 태그를 사용하여 어느 정도 동일한 작업을 수행 할 수 있습니다. --build-flags
인수를 사용하여 dlv
에 빌드 태그를 전달할 수 있습니다.를보고합니다 go run a.go
실행
package main
import (
"isdelve"
"fmt"
)
func main() {
fmt.Println("delve", isdelve.Enabled)
}
:
// +build !delve
package isdelve
const Enabled = false
a.go
: 나는 How can I check if the race detector is enabled at runtime?에
isdelve/delve.go
// +build delve
package isdelve
const Enabled = true
isdelve/nodelve.go
를 설명 이것은 기본적으로 동일한 기술이다및 실행 중
dlv debug --build-flags='-tags=delve' a.go
은 delve true
으로보고됩니다.
GoLand 사용자 인터페이스의 어딘가에 해당 플래그를 전달해야합니다. 저는 GoLand에 익숙하지 않아서 그 부분에 대해 당신을 정말로 도울 수는 없습니다.
또는 수동으로 디버거를 시작한 후 변수를 설정하는 탐구의 set
명령을 사용할 수 있습니다.
어떤 디버거를 사용하고 있습니까? – Adrian
"이동에 상응하는 것이 있습니까?" 하나는 희망하지 않을 것입니다. 코드는 디버깅하는 동안 동일한 방식으로 동작해야합니다. 그렇지 않으면 제대로 디버깅되지 않습니다. – Flimzy
감사합니다. @Adrian, 질문을 업데이트했습니다. –