C#에서 실행 중인 프로그램은 "System.Diagnostics.Debugger.IsAttached" 메소드를 통해 디버거 감독 하에 있는지 여부를 식별할 수 있습니다 .
Go에서도 유사한 기능을 구현할 수 있나요? 이는 코드를 디버깅하는 동안 시간 초과를 비활성화하는 데 특히 바람직합니다.
구체적으로 이 질문은 GoLand 디버거를 사용할 때 발생합니다.
사용 빌드 태그:
"isdelve/delve.go"에 다음 빌드 태그를 추가합니다.
// +build delve
"isdelve/nodelve.go"에 다음 빌드를 추가하세요. 태그:
// +build !delve
두 파일 모두에 "package isdelve" 선언을 추가하고 "Enabled" 상수를 선언합니다.
package isdelve const Enabled = true // or package isdelve const Enabled = false
"isdelve"를 가져오는 세 번째 Go 파일 "a.go"를 만듭니다. 패키지:
package main import ( "isdelve" "fmt" ) func main() { fmt.Println("delve", isdelve.Enabled) }
GoLand 구성:
사용:
대안:
또는 delve의 "set" 명령은 디버거를 시작한 후 수동으로 변수를 설정할 수 있습니다.
위 내용은 C#의 `Debugger.IsAttached`와 같은 GoLand 디버거 첨부 파일을 감지할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!