본문으로 건너뛰기

설치구동

2.1. 설치 방법

1. 패키지 다운로드

2. 시스템 환경 변수 설정

  1. 필수 환경 변수
    • EXEM_DOTNET_PATH=exem 폴더까지의 경로 설정 ex)C:\workspace\package\exem
    • EXEM_DOTNET_PROFILE_TARGET_PROCESS=Exem.DotNet.Profiler가 타겟으로 할 프로세스 설정 ex)w3wp.exe
  2. 선택 환경 변수
    • EXEM_DOTNET_DEBUG=Exem.DotNet.Profiler의 디버그 로그 옵션 ex)true
    • EXEM_DOTNET_DEBUG2=Exem.DotNet.Agent의 디버그 로그 옵션 (Agent Id 발급 이전 까지의 로깅) ex)true

3. 런타임 라이브러리 추가 및 DotNet 에이전트 설치

  1. 최신 Visual C++ 재배포 패키지 설치=tools/Visual Studio 2017 C++ Redistributable 폴더내에 프로세서에 맞는 아키텍처 설치
  2. Exem.DotNet.Profiler를 레지스트리 명령 구성 요소로 등록=tools/dll_regsvr/DLL_Install.bat 파일 관리자 권한으로 실행
  3. Exem.DotNet.Agent GAC 등록=tools/Assembly/assembly_regist.bat 파일 관리자 권한으로 실행 (x86의 경우 assembly_regist_x86.bat 실행)
  4. exem-dotnet-agent 서비스 등록=tools/profile_for_service_start.bat 파일 관리자 권한으로 실행

3-1. 3.0.3 패키지 이후에 설치 가능한 방법 (시스템 환경변수 설정 및 설치 간편화)

  1. 최신 Visual C++ 재배포 패키지 설치=tools/Visual Studio 2017 C++ Redistributable 폴더내에 프로세서에 맞는 아키텍처 설치
  2. netfw_agent_install.bat 배치파일 관리자 권한으로 실행

4. 게더 주소 설정

  • config/net.conf 파일의 DG_ADDR 옵션에 IP:port 설정

2.2 제거 방법

1. 제거 전 확인 사항

  • 관리자 권한 명령 프롬프트 또는 배치 실행 권한이 필요합니다.
  • 대상 서비스 또는 IIS worker process가 동작 중이면 제거 직후 재기동 여부를 확인합니다.
  • 패키지 경로가 유지된 상태에서 제거하는 것이 안전합니다. 제거 배치는 EXEM_DOTNETFW_HOME 또는 시스템 레지스트리의 동일 값을 참조합니다.

2. 권장 제거 방법

  • tools/netfw_agent_uninstall.bat를 관리자 권한으로 실행

이 배치는 아래 작업을 순서대로 수행합니다.

  • Exem.DotNetFw.Service.exe --standalone-stop 호출
  • GAC 등록된 어셈블리 제거
  • profiler DLL COM 등록 해제
  • 시스템 환경 변수 삭제

삭제 대상 환경 변수:

  • EXEM_DOTNETFW_HOME
  • EXEM_DOTNETFW_DEBUG
  • EXEM_DOTNETFW_DEBUG2
  • EXEM_DOTNET_PROFILE_TARGET_PROCESS
  • EXEM_DOTNET_RETRY_COUNT

3. 수동 제거 방법

3-1. 에이전트 서비스 중지

  • tools/profile_for_service_stop.bat를 관리자 권한으로 실행

이 스크립트는 아래 명령을 호출합니다.

  • binary/Exem.DotNetFw.Service.exe --standalone-stop

3-2. GAC 등록 어셈블리 제거

  • x64: tools/Assembly/assembly_remove.bat
  • x86: tools/Assembly/assembly_remove_x86.bat

제거 대상:

  • Exem.DotNetFw.Agent
  • log4net
  • System.Buffers
  • System.Runtime.CompilerServices.Unsafe
  • System.Memory
  • Google.Protobuf

3-3. profiler DLL 등록 해제

  • tools/dll_regsvr/DLL_Remove.bat를 관리자 권한으로 실행

내부적으로 아래와 같이 동작합니다.

  • tools/dll_regsvr/DLL_Regsvr.bat -u
  • Exem.DotNetFw.Profiler.x86.dll, Exem.DotNetFw.Profiler.x64.dll 등록 해제

3-4. 시스템 환경 변수 삭제

아래 시스템 환경 변수를 삭제합니다.

  • EXEM_DOTNETFW_HOME
  • EXEM_DOTNETFW_DEBUG
  • EXEM_DOTNETFW_DEBUG2
  • EXEM_DOTNET_PROFILE_TARGET_PROCESS
  • EXEM_DOTNET_RETRY_COUNT

예시:

reg delete "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" /v EXEM_DOTNETFW_HOME /f
reg delete "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" /v EXEM_DOTNETFW_DEBUG /f
reg delete "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" /v EXEM_DOTNETFW_DEBUG2 /f
reg delete "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" /v EXEM_DOTNET_PROFILE_TARGET_PROCESS /f
reg delete "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" /v EXEM_DOTNET_RETRY_COUNT /f