Standalone Profiler
Visual Studio 2012 발표회에 갔다가 트라이얼 DVD를 받아왔다.
안의 내용을 보다 보니 프로파일러가 들어있었다.
Visual Studio 2008 SP1 이상이라면 사용 가능하다고 한다.
날개의 기억:: vsperfcmd : Visual Studio 2008 Standalone Profiler
MSDN:: How to: Install the Stand-Alone Profiler
64비트라서 'Profiler_Setup_x64.exe'를 설치했는데,
실제 설치된 경로는 "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Team Tools\Performance Tools"였다.
안에 x64 폴더가 있기는 했다.
설치 후, PATH 걸어주기
대상 - VSPerfCmd.exe가 있는 위치 (크게 두 곳이 있다.)
빌드시 - 링크 옵션에서 프로파일링을 설정한다.
프로젝트 속성(Property; 단축키alt-f7) > 링커(Linker) > 고급(Advanced) > 프로필(Profile) 항목
빌드시 링크 옵션에서 증분 링크 사용 옵션(/INCREMENTAL)이 무시된다.
따라서 Debug용 보다는 Release용을 프로파일링하는 것이 좋을 것 같다.
1>LINK : warning LNK4075: '/INCREMENTAL'이(가) '/PROFILE' 사양으로 인해 무시됩니다.
1>stdafx.obj : warning LNK4075: '/EDITANDCONTINUE'이(가) '/OPT:REF' 사양으로 인해 무시됩니다.
프로파일링 일련의 명령들(실행파일 이름이 profile_test.exe 라고 가정) 참고:MSDN / celdee
> md Reports
> vsinstr profile_test.exe
> vsperfcmd /start:trace /output:Reports\profile_test.vsp // 프로파일링 시작 (백그라운드로 진행된다)
> vsperfcmd /shutdown // 프로파일링 종료
> vsperfreport profile_test.vsp ?output:"out" /summary:all // csv 형태로 리포팅 생성
위의 결과대로 수행하면 최종
out_Header.csv와 out_MarksSummary.csv 파일을 얻을 수 있다.
명령 도구들
VSInstr : 명령 바이너리를 생성하기 위한 명령줄 도구
VSPerfCLREnv : .NET 프로파일링 데이터를 수집하기 위해 환경 변수를 지정하는 도구
VSPerfCmd : 프로파일링 데이터를 수집하는 도구
- 프로파일링이 시작되면 VSPerfMon.exe이름의 프로세스가 동작을 한다.
VSPerfReport : 프로파일링 데이터에서 파일 기반의 레포트를 생성하는 도구