부모글 보이기/감추기 AD BLOCK 해제 요청 이 글에는 광고가 많이 들어가 있지 않습니다. adblock을 해제하셔도 글을 읽는데 그다지 부담이 없으니 해제를 부탁드립니다. (시리즈 글이 11개 있습니다.) 개발 환경 구성: 592. JetBrains의 IDE(예를 들어, PyCharm)에서 Visual Studio 키보드 매핑 적용 ; https://www.sysnet.pe.kr/2/0/12752 개발 환경 구성: 595. PyCharm - WSL과 연동해 Django App을 윈도우에서 리눅스 대상으로 개발 ; https://www.sysnet.pe.kr/2/0/12773 개발 환경 구성: 597. PyCharm - 윈도우 환경에서 WSL을 이용해 파이썬 앱 개발/디버깅하는 방법 ; https://www.sysnet.pe.kr/2/0/12789 개발 환경 구성: 598. PyCharm - 원격 프로세스를 디버그하는 방법 ; https://www.sysnet.pe.kr/2/0/12798 개발 환경 구성: 599. PyCharm - (반대로) 원격 프로세스가 PyCharm에 디버그 연결하는 방법 ; https://www.sysnet.pe.kr/2/0/12800 개발 환경 구성: 601. PyCharm - 다중 프로세스 디버깅 방법 ; https://www.sysnet.pe.kr/2/0/12806 스크립트: 26. 파이썬 - PyCharm을 이용한 fork 디버그 방법 ; https://www.sysnet.pe.kr/2/0/12823 개발 환경 구성: 603. GoLand - WSL 환경과 연동 ; https://www.sysnet.pe.kr/2/0/12825 개발 환경 구성: 673. JetBrains IDE에서 "Squash Commits..." 메뉴가 비활성화된 경우 ; https://www.sysnet.pe.kr/2/0/13318 개발 환경 구성: 679. PyCharm(을 비롯해 JetBrains에 속한 여타) IDE에서 내부 Window들의 탭이 없어진 경우 ; https://www.sysnet.pe.kr/2/0/13369 개발 환경 구성: 697. GoLand에서 ldflags 지정 방법 ; https://www.sysnet.pe.kr/2/0/13489 GoLand - WSL 환경과 연동 JetBrains의 도구들이 좋은 점이 있다면, 제법 IDE 간에 설정을 공통화시켰다는 것입니다. 그래서 PyCharm 설정을 해 본 적이 있다면, PyCharm - 윈도우 환경에서 WSL을 이용해 파이썬 앱 개발/디버깅하는 방법 ; https://www.sysnet.pe.kr/2/0/12789 GoLand도 역시 쉽게 할 수 있습니다. 물론, 다음과 같이 공식 문서도 있습니다. Create a run configuration for WSL ; https://www.jetbrains.com/help/go/how-to-use-wsl-development-environment-in-product.html#wsl_run_target 자, 그럼 따라해 볼까요? ^^ 간단하게 "Run/Debug Configurations" 창에서 "Run on:" 항목을 "WSL"로 선택하면, "New Target: WSL" 창이 뜬 후 해당 WSL 환경 내의 go 설치 여부 등을 확인합니다. 그다음 아래와 같은 창이 뜨고, Go 컴파일러의 위치를 확인만 해주면 끝입니다. ^^ 이 상태에서 Run 또는 Debug를 하면, "PyCharm - 윈도우 환경에서 WSL을 이용해 파이썬 앱 개발/디버깅하는 방법"에서와 마찬가지로 현재의 디렉터리(위의 예제에서는 d:\gowork\work\hello)를 WSL에서 접근 가능한 디렉터리(/mnt/d/gowork/work/hello)로 자동 변경하기 때문에 아래의 예제와 같은 실행 결과를 얻을 수 있습니다. package main import ( "fmt" "os" ) func main() { fmt.Println("Hello Go World") fmt.Println(os.Getwd()) } /* 출력 결과 Hello Go World /mnt/d/gowork/work/hello */ 엄청 편하죠? ^^ 당연히 BP를 걸어 디버깅하는 것도 WSL 환경의 실행을 기준으로 진행됩니다. 그렇다면 혹시 PyCharm처럼, PyCharm - (반대로) 원격 프로세스가 PyCharm에 디버그 연결하는 방법 ; https://www.sysnet.pe.kr/2/0/12800 제 PC의 GoLand는 디버깅을 대기하고, 원격 프로세스가 제 PC로 디버깅 세션을 연결하는 방법은 없을까요? 아쉽게도 이런 방법은 없는 것 같고 대신 "attach" 시키는 것이 가능합니다. 이에 대해서는 다음의 문서로. ^^ Attach to running Go processes with the debugger ; https://www.jetbrains.com/help/go/attach-to-running-go-processes-with-debugger.html [이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.] [다음 글] .NET Framework: 1113. C# 10 - (12) 문자열 보간 성능 개선[이전 글] 오류 유형: 760. 파이썬 tensorflow - Dst tensor is not initialized. 오류 메시지 [최초 등록일: 9/3/2021] [최종 수정일: 9/3/2021] 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다. by SeongTae Jeong, mailto:techsharer at outlook.com 비밀번호 댓글 작성자 ... 61 62 63 64 65 66 67 68 69 70 71 72 73 74 [75] ... NoWriterDateCnt.TitleFile(s) 12153정성태2/23/202024255.NET Framework: 898. Trampoline을 이용한 후킹의 한계112152정성태2/23/202021294.NET Framework: 897. 실행 시에 메서드 가로채기 - CLR Injection: Runtime Method Replacer 개선 - 세 번째 이야기(Trampoline 후킹)112151정성태2/22/202023950.NET Framework: 896. C# - Win32 API를 Trampoline 기법을 이용해 C# 메서드로 가로채는 방법 - 두 번째 이야기 (원본 함수 호출)112150정성태2/21/202024049.NET Framework: 895. C# - Win32 API를 Trampoline 기법을 이용해 C# 메서드로 가로채는 방법 [1]112149정성태2/20/202020962.NET Framework: 894. eBEST C# XingAPI 래퍼 - 연속 조회 처리 방법 [1]12148정성태2/19/202025592디버깅 기술: 163. x64 환경에서 구현하는 다양한 Trampoline 기법 [1]12147정성태2/19/202020949디버깅 기술: 162. x86/x64의 기계어 코드 최대 길이12146정성태2/18/202022147.NET Framework: 893. eBEST C# XingAPI 래퍼 - 로그인 처리112145정성태2/18/202023740.NET Framework: 892. eBEST C# XingAPI 래퍼 - Sqlite 지원 추가112144정성태2/13/202023952.NET Framework: 891. 실행 시에 메서드 가로채기 - CLR Injection: Runtime Method Replacer 개선 - 두 번째 이야기112143정성태2/13/202018351.NET Framework: 890. 상황별 GetFunctionPointer 반환값 정리 - x64112142정성태2/12/202022272.NET Framework: 889. C# 코드로 접근하는 MethodDesc, MethodTable112141정성태2/10/202021247.NET Framework: 888. C# - ASP.NET Core 웹 응용 프로그램의 출력 가로채기 [2]112140정성태2/10/202022624.NET Framework: 887. C# - ASP.NET 웹 응용 프로그램의 출력 가로채기112139정성태2/9/202022276.NET Framework: 886. C# - Console 응용 프로그램에서 UI 스레드 구현 방법12138정성태2/9/202028514.NET Framework: 885. C# - 닷넷 응용 프로그램에서 SQLite 사용 [6]112137정성태2/9/202020179오류 유형: 592. [AhnLab] 경고 - 디버거 실행을 탐지했습니다.12136정성태2/6/202021844Windows: 168. Windows + S(또는 Q)로 뜨는 작업 표시줄의 검색 바가 동작하지 않는 경우12135정성태2/6/202027636개발 환경 구성: 468. Nuget 패키지의 로컬 보관 폴더를 옮기는 방법 [2]12134정성태2/5/202024898.NET Framework: 884. eBEST XingAPI의 C# 래퍼 버전 - XingAPINet Nuget 패키지 [5]112133정성태2/5/202022639디버깅 기술: 161. Windbg 환경에서 확인해 본 .NET 메서드 JIT 컴파일 전과 후 - 두 번째 이야기12132정성태1/28/202025675.NET Framework: 883. C#으로 구현하는 Win32 API 후킹(예: Sleep 호출 가로채기) [1]112131정성태1/27/202024370개발 환경 구성: 467. LocaleEmulator를 이용해 유니코드를 지원하지 않는(한글이 깨지는) 프로그램을 실행하는 방법 [1]12130정성태1/26/202022001VS.NET IDE: 142. Visual Studio에서 windbg의 "Open Executable..."처럼 EXE를 직접 열어 디버깅을 시작하는 방법12129정성태1/26/202028953.NET Framework: 882. C# - 키움 Open API+ 사용 시 Registry 등록 없이 KHOpenAPI.ocx 사용하는 방법 [3]12128정성태1/26/202023090오류 유형: 591. The code execution cannot proceed because mfc100.dll was not found. Reinstalling the program may fix this problem. ... 61 62 63 64 65 66 67 68 69 70 71 72 73 74 [75] ...