부모글 보이기/감추기 AD BLOCK 해제 요청 이 글에는 광고가 많이 들어가 있지 않습니다. adblock을 해제하셔도 글을 읽는데 그다지 부담이 없으니 해제를 부탁드립니다. .NET Profiler + 디버거 연결 + .NET Exceptions = cpu high COR_PRF_USE_PROFILE_IMAGES 옵션의 .NET Profiler가 적용된 닷넷 프로세스를 다시 Debug Diagnostic 도구(및 기타 모든 Debugger)로, 프로세스 비정상 종료 시 "Debug Diagnostic Tool"를 이용해 덤프를 남기는 방법 ; https://www.sysnet.pe.kr/2/0/1786 Debug Diagnostic Tool v2 Update 3 ; https://www.microsoft.com/en-us/download/details.aspx?id=58210 연결(Attach to process)해 놓으면 해당 프로세스에서 잦은 예외(.NET Exceptions) 발생 시 dbghost.exe의 CPU 사용률과 함께 닷넷 프로세스는 급격한 성능 저하 현상이 발생합니다. 만약 저 상황이 꼭 필요한데 성능 문제를 해결하고 싶다면 NGen의 "profiler-enhanced images"를 준비하면 됩니다. NGen 모듈과 .NET Profiler ; https://www.sysnet.pe.kr/2/0/11321 참고로, 디버거가 붙은 지 모르고 성능 저하 현상이 나타난 프로세스를 메모리 덤프로 떠서 분석하다가 도저히 해석이 안 되어서 며칠을 고민만 한 적이 있습니다. ^^; [이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.] [다음 글] 오류 유형: 422. 윈도우 업데이트 - Code 9C48 Windows update encountered an unknown error.[이전 글] 디버깅 기술: 103. windbg - .NET 4.0 이상의 환경에서 모든 DLL에 대한 심벌 파일을 로드하는 파이썬 스크립트 [최초 등록일: 10/17/2017] [최종 수정일: 5/24/2021] 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다. by SeongTae Jeong, mailto:techsharer at outlook.com 비밀번호 댓글 작성자 ... 46 47 48 49 50 51 52 53 54 55 56 57 58 [59] 60 ... NoWriterDateCnt.TitleFile(s) 12155정성태2/25/20208886오류 유형: 594. Warning NU1701 - This package may not be fully compatible with your project12154정성태2/25/20208702오류 유형: 593. warning LNK4070: /OUT:... directive in .EXP differs from output filename12153정성태2/23/202011386.NET Framework: 898. Trampoline을 이용한 후킹의 한계112152정성태2/23/202011148.NET Framework: 897. 실행 시에 메서드 가로채기 - CLR Injection: Runtime Method Replacer 개선 - 세 번째 이야기(Trampoline 후킹)112151정성태2/22/202011689.NET Framework: 896. C# - Win32 API를 Trampoline 기법을 이용해 C# 메서드로 가로채는 방법 - 두 번째 이야기 (원본 함수 호출)112150정성태2/21/202011549.NET Framework: 895. C# - Win32 API를 Trampoline 기법을 이용해 C# 메서드로 가로채는 방법 [1]112149정성태2/20/202011325.NET Framework: 894. eBEST C# XingAPI 래퍼 - 연속 조회 처리 방법 [1]12148정성태2/19/202012561디버깅 기술: 163. x64 환경에서 구현하는 다양한 Trampoline 기법 [1]12147정성태2/19/202011176디버깅 기술: 162. x86/x64의 기계어 코드 최대 길이12146정성태2/18/202011410.NET Framework: 893. eBEST C# XingAPI 래퍼 - 로그인 처리112145정성태2/18/202010632.NET Framework: 892. eBEST C# XingAPI 래퍼 - Sqlite 지원 추가112144정성태2/13/202010652.NET Framework: 891. 실행 시에 메서드 가로채기 - CLR Injection: Runtime Method Replacer 개선 - 두 번째 이야기112143정성태2/13/20208703.NET Framework: 890. 상황별 GetFunctionPointer 반환값 정리 - x64112142정성태2/12/202010456.NET Framework: 889. C# 코드로 접근하는 MethodDesc, MethodTable112141정성태2/10/202010028.NET Framework: 888. C# - ASP.NET Core 웹 응용 프로그램의 출력 가로채기 [2]112140정성태2/10/20209888.NET Framework: 887. C# - ASP.NET 웹 응용 프로그램의 출력 가로채기112139정성태2/9/202011266.NET Framework: 886. C# - Console 응용 프로그램에서 UI 스레드 구현 방법12138정성태2/9/202014038.NET Framework: 885. C# - 닷넷 응용 프로그램에서 SQLite 사용 [6]112137정성태2/9/20209233오류 유형: 592. [AhnLab] 경고 - 디버거 실행을 탐지했습니다.12136정성태2/6/20209626Windows: 168. Windows + S(또는 Q)로 뜨는 작업 표시줄의 검색 바가 동작하지 않는 경우12135정성태2/6/202013265개발 환경 구성: 468. Nuget 패키지의 로컬 보관 폴더를 옮기는 방법 [2]12134정성태2/5/202013408.NET Framework: 884. eBEST XingAPI의 C# 래퍼 버전 - XingAPINet Nuget 패키지 [5]112133정성태2/5/202010659디버깅 기술: 161. Windbg 환경에서 확인해 본 .NET 메서드 JIT 컴파일 전과 후 - 두 번째 이야기12132정성태1/28/202012224.NET Framework: 883. C#으로 구현하는 Win32 API 후킹(예: Sleep 호출 가로채기)112131정성태1/27/202012279개발 환경 구성: 467. LocaleEmulator를 이용해 유니코드를 지원하지 않는(한글이 깨지는) 프로그램을 실행하는 방법 [1]12130정성태1/26/20209748VS.NET IDE: 142. Visual Studio에서 windbg의 "Open Executable..."처럼 EXE를 직접 열어 디버깅을 시작하는 방법 ... 46 47 48 49 50 51 52 53 54 55 56 57 58 [59] 60 ...