어셈블리 코드를 사용하여 GoClipse에서 Go 프로그램 디버깅
GoClipse에서 Go 프로그램을 디버깅하려고 시도하는 동안 사용자는 디버거가 작동하지 않는 문제에 직면할 수 있습니다. Go 코드 대신 어셈블리 코드를 단계별로 진행합니다. 이는 디버깅을 위해 gdb를 올바르게 설치했음에도 불구하고 발생합니다.
중단점이 설정되고 프로그램이 Eclipse 디버거를 통해 실행되면 "rt0_darwin_amd64.s"와 같은 어셈블리 코드 파일을 입력하고 "MOVQ $_rt0_go와 같은 줄에 초점을 맞춥니다. (SB), AX." 이 동작은 디버깅을 어렵게 만들 수 있습니다.
이 문제를 해결하려면 Go 프로그램이 중지될 때 디버그 보기의 내용을 확인하세요. "main() at rt0_darwin_amd64.s"로 시작하는 스택 추적이 표시되면 이는 C로 작성된 내부 런타임 "main" 함수에서 디버거가 일시 중지되었음을 나타냅니다.
이 동작은 첫 번째 함수에 의해 제어됩니다. 시작 구성 옵션의 옵션입니다. 이 문제를 해결하려면 실제 Go 기본 기능에서 중지하도록 "main.main" 옵션을 설정하거나 옵션을 선택 취소하면 됩니다.
또는 디버거가 내부 런타임 "main" 기능에서 중지되는 경우 다음을 수행할 수 있습니다. 실행을 계속하려면 "실행/재개"(F8)를 클릭하세요. 이렇게 하면 Go 코드를 단계별로 실행하고 예상대로 디버그할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3