부모글 보이기/감추기 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) 12108정성태1/10/202017390오류 유형: 587. Kernel Driver 시작 시 127(The specified procedure could not be found.) 오류 메시지 발생12107정성태1/10/202018527.NET Framework: 877. C# - 프로세스의 모든 핸들을 열람 - 두 번째 이야기12106정성태1/8/202019605VC++: 136. C++ - OSR Driver Loader와 같은 Legacy 커널 드라이버 설치 프로그램 제작 [1]12105정성태1/8/202018115디버깅 기술: 153. C# - PEB를 조작해 로드된 DLL을 숨기는 방법12104정성태1/7/202019298DDK: 9. 커널 메모리를 읽고 쓰는 NT Legacy driver와 C# 클라이언트 프로그램 [4]12103정성태1/7/202022393DDK: 8. Visual Studio 2019 + WDK Legacy Driver 제작- Hello World 예제 [1]212102정성태1/6/202018765디버깅 기술: 152. User 권한(Ring 3)의 프로그램에서 _ETHREAD 주소(및 커널 메모리를 읽을 수 있다면 _EPROCESS 주소) 구하는 방법12101정성태1/5/202018989.NET Framework: 876. C# - PEB(Process Environment Block)를 통해 로드된 모듈 목록 열람12100정성태1/3/202016480.NET Framework: 875. .NET 3.5 이하에서 IntPtr.Add 사용12099정성태1/3/202019295디버깅 기술: 151. Windows 10 - Process Explorer로 확인한 Handle 정보를 windbg에서 조회 [1]12098정성태1/2/202019061.NET Framework: 874. C# - 커널 구조체의 Offset 값을 하드 코딩하지 않고 사용하는 방법 [3]12097정성태1/2/202017127디버깅 기술: 150. windbg - Wow64, x86, x64에서의 커널 구조체(예: TEB) 구조체 확인12096정성태12/30/201919848디버깅 기술: 149. C# - DbgEng.dll을 이용한 간단한 디버거 제작 [1]12095정성태12/27/201921549VC++: 135. C++ - string_view의 동작 방식12094정성태12/26/201919274.NET Framework: 873. C# - 코드를 통해 PDB 심벌 파일 다운로드 방법12093정성태12/26/201918835.NET Framework: 872. C# - 로딩된 Native DLL의 export 함수 목록 출력112092정성태12/25/201917654디버깅 기술: 148. cdb.exe를 이용해 (ntdll.dll 등에 정의된) 커널 구조체 출력하는 방법12091정성태12/25/201919937디버깅 기술: 147. pdb 파일을 다운로드하기 위한 symchk.exe 실행에 필요한 최소 파일 [1]12090정성태12/24/201920033.NET Framework: 871. .NET AnyCPU로 빌드된 PE 헤더의 로딩 전/후 차이점 [1]112089정성태12/23/201918939디버깅 기술: 146. gflags와 _CrtIsMemoryBlock을 이용한 Heap 메모리 손상 여부 체크12088정성태12/23/201917924Linux: 28. Linux - 윈도우의 "Run as different user" 기능을 shell에서 실행하는 방법12087정성태12/21/201918381디버깅 기술: 145. windbg/sos - Dictionary의 entries 배열 내용을 모두 덤프하는 방법 (do_hashtable.py) [1]12086정성태12/20/201920876디버깅 기술: 144. windbg - Marshal.FreeHGlobal에서 발생한 덤프 분석 사례12085정성태12/20/201918834오류 유형: 586. iisreset - The data is invalid. (2147942413, 8007000d) 오류 발생 - 두 번째 이야기 [1]12084정성태12/19/201919273디버깅 기술: 143. windbg/sos - Hashtable의 buckets 배열 내용을 모두 덤프하는 방법 (do_hashtable.py) [1]12083정성태12/17/201922256Linux: 27. linux - lldb를 이용한 .NET Core 응용 프로그램의 메모리 덤프 분석 방법 [2] ... 61 62 63 64 65 66 67 68 69 70 71 72 [73] 74 75 ...