Microsoft MVP성태의 닷넷 이야기
VS.NET IDE: 1. VC++ 프로파일링 사용법 [링크 복사], [링크+제목 복사],
조회: 26214
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

혹시, 이글을 읽어보시는 분들중에 EXE 프로젝트의 프로파일링을
MSDN 보시면서 해보신 분 계신가요?

그 메뉴얼 대로 해보시면... ^^ 안되더군요.
에러가 납니다.

PREP : fatal error PRF1011: cannot open file
c:\workshop\texen\test\debug\test.pbo

위와 같은 에러가 나죠.

아,,, 그전에 사용을 위한 환경설정부터 설명을 해야 겠네요.

1. Project/Settings 메뉴를 선택합니다.
2. Link 탭으로 이동합니다.
3. Enable Profiling 를 체크합니다.
4. 재컴파일을 합니다.

위의 4단계를 하면 설정은 완료된 것입니다.

그럼, 프로파일링을 해야 되는데요. 그것도 역시 간단합니다.
1. Build 메뉴를 선택합니다.
2. 가장 하단의 "Profile" 메뉴가 활성화되어 있는 것을 발견할 수 있
습니다. 선택합니다.
3. 원하는 타입의 프로파일링을 선택하고 "OK" 를 누릅니다.

그럼, 실행파일이 실행이 되고, 평소처럼 동작시킨 후, 종료를
시키면 됩니다.

종료되는 순간에, 모든 결과값을 통합환경의 하단에 있는
"Output" 윈도우에 "Profile" 이란 탭에서 출력이 되도록 되어 있습니
다.


직접... 해보십시오.
근데... 말씀드린 것 처럼, 위의 에러가 날 것입니다.
어쨌든, 믿을 것은 MSDN 라이브러리 밖에 없고요. 이것저것 조합을 해
보면서 시도를 해봤습니다.

결론은, 안됩니다. ^^
VC++ 통합환경에서 미리 제공된 옵션으로는 안되고요.
거기 프로파일 창에 보면 "Custom" 이란 라디오 버튼이 있을 것입니
다. 그걸 통해서만이 제대로 프로파일링을 할 수 있습니다.

1. 아래와 같이 test.bat 을 만듭니다.
    PREP /OM /FT %1
    PROFILE test._xe
    PREP /M %1
    PLIST /SC /ST %1
2. 위에서 test._xe 라고 되어 있는 부분을 자신의 프로젝트에 맞게
수정합니다. 예를 들어 여러분이 만든 프로젝트의 결과 EXE 파일이
proftest.exe 가 나온다면, 위의 "test._xe" 부분을 "proftest._xe"
라고 수정하시면 됩니다.
3. test.bat 을 저장해 둡니다.
4. Build 메뉴를 선택합니다.
5. 가장 하단의 "Profile" 메뉴가 활성화되어 있는 것을 발견할 수 있
습니다. 선택합니다.
6. "Custom" 을 선택하면, Custom Setting" 가 활성화됩니다. 눌러
서, [3] 번 단계에서 저장해둔 test.bat 을 지정합니다.
7. "OK" 버튼을 누릅니다.

위와 같이 하고, 실행된 응용 프로그램을 종료시키면,
하단 "Output" 창의 "Profile" 탭에는 결과가 출력되는 것을 볼 수 있
습니다.

위의 결과로 예상하는 건데요. VC++ 자동 프로파일링에서는
PROFILE test._xe

PROFILE test.exe
로 실행을 시키는 바람에 제대로 프로파일링이 안되는 것 같습니다.









[최초 등록일: ]
[최종 수정일: 7/17/2003]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 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)
12251정성태7/1/202023691.NET Framework: 920. C# - 파일의 비동기 처리 유무에 따른 스레드 상황 [1]파일 다운로드2
12250정성태6/30/202024408.NET Framework: 919. C# - 닷넷에서의 진정한 비동기 호출을 가능케 하는 I/O 스레드 사용법 [1]파일 다운로드1
12249정성태6/29/202020810오류 유형: 625. Microsoft SQL Server 2019 RC1 Setup - 설치 제거 시 Warning 26003 오류 발생
12248정성태6/29/202018478오류 유형: 624. SQL 서버 오류 - service-specific error code 17051
12247정성태6/29/202020537.NET Framework: 918. C# - 불린 형 상수를 반환값으로 포함하는 3항 연산자 사용 시 단축 표현 권장(IDE0075) [2]파일 다운로드1
12246정성태6/29/202022124.NET Framework: 917. C# - USB 관련 ETW(Event Tracing for Windows)를 이용한 키보드 입력을 감지하는 방법
12245정성태6/24/202022505.NET Framework: 916. C# - Task.Yield 사용법 (2) [2]파일 다운로드1
12244정성태6/24/202022709.NET Framework: 915. ETW(Event Tracing for Windows)를 이용한 닷넷 프로그램의 내부 이벤트 활용 [1]파일 다운로드1
12243정성태6/23/202018573VS.NET IDE: 147. Visual C++ 프로젝트 - .NET Core EXE를 "Debugger Type"으로 지원하는 기능 추가
12242정성태6/23/202020378오류 유형: 623. AADSTS90072 - User account '...' from identity provider 'live.com' does not exist in tenant 'Microsoft Services'
12241정성태6/23/202022451.NET Framework: 914. C# - Task.Yield 사용법파일 다운로드1
12240정성태6/23/202023571오류 유형: 622. 소켓 바인딩 시 "System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions" 오류 발생
12239정성태6/21/202023409Linux: 30. (윈도우라면 DLL에 속하는) .so 파일이 텍스트로 구성된 사례 [1]
12238정성태6/21/202020776.NET Framework: 913. C# - SharpDX + DXGI를 이용한 윈도우 화면 캡처 라이브러리
12237정성태6/20/202020663.NET Framework: 912. 리눅스 환경의 .NET Core에서 "test".IndexOf("\0")가 0을 반환
12236정성태6/19/202021840오류 유형: 621. .NET Standard 대상으로 빌드 시 dynamic 예약어에서 컴파일 오류 - error CS0656: Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create'
12235정성태6/19/202019303오류 유형: 620. Windows 10 - Inaccessible boot device 블루 스크린
12234정성태6/19/202018903개발 환경 구성: 494. NuGet - nuspec의 패키지 스키마 버전(네임스페이스) 업데이트 방법
12233정성태6/19/202020528오류 유형: 619. SQL 서버 - The transaction log for database '...' is full due to 'LOG_BACKUP'. - 두 번째 이야기
12232정성태6/19/202018651오류 유형: 618. SharePoint - StoreBusyRetryLater 오류
12231정성태6/15/202022587.NET Framework: 911. Console/Service Application을 위한 SynchronizationContext - AsyncContext
12230정성태6/15/202021225오류 유형: 617. IMetaDataImport::GetMethodProps가 반환하는 IL 코드 주소(RVA) 문제
12229정성태6/13/202023363.NET Framework: 910. USB/IP PROJECT를 이용해 C#으로 USB Keyboard + Mouse 가상 장치 만들기 [1]
12228정성태6/12/202021622.NET Framework: 909. C# - Source Generator를 적용한 XmlCodeGenerator파일 다운로드1
12227정성태6/12/202025570오류 유형: 616. Visual Studio의 느린 업데이트 속도에 대한 원인 분석 [5]
12226정성태6/11/202024936개발 환경 구성: 493. OpenVPN의 네트워크 구성 [4]파일 다운로드1
... 61  62  63  64  65  66  67  68  69  [70]  71  72  73  74  75  ...