마일스톤의 XProtect는 Windows Service 형태인 XProtect Event Service를 가지고 있다. 이 서비스는 클래스 라이브러를 만들어 특정 폴더에 놓아 주면, 이 dll를 가져다가 추가 기능을 실행시켜 주는 플러그인 방식을 따르고 있다. 

 

이 플러그인이 실행되는 곳은 XProtect Evet Service라는 Windows Service이고 따라서 디버깅을 위해서는 이 Windows Service가 실행되는 프로세스에 Visual studio를 연결하여 디버깅을 하면된다.

 

하지만 보통 적용하고자 하는 서버에는 Visual studio가 없다보니 디버깅을 하기 어렵고 그렇다고 또 무거운 Visual studio를 깔아서 디버깅 하기는 귀찮아 간단한 로그를 파일로 남기는 기능을 추가 하여 어떤 방식으로 동작하는지 로그를 통해 검사하곤한다.

 

그런데 가끔은 이 Event Service가 실행되고, 플러그인도 적용 된 것이 확실한데 로그가 안남는 경우가 있다. 이것은 Windows Service가 실행되고 있는 사용자(?)와 관련된 문제인데, 만일 Windows Service가 파일을 만들고자 하는 경로에 대한 파일 쓰기 권한이 없는 경우 이런 문제가 발생한다.

 

(로그를 주었는데 왜 먹지를 못하니..)

 

이런 경우, 간단하게 해당 폴더의 속성에서 Windows Servicer가 가지고 있는 계정을 쓰기에 대한 권한을 가진 사용자로 추가 시켜주면 된다.

 

 

 

Posted by 굿쟌
,