developer tip

Mac OS X에서 C ++ 프로파일 링

optionbox 2020. 12. 8. 07:57
반응형

Mac OS X에서 C ++ 프로파일 링


Mac (os x Lion)에서 일부 C ++ 코드를 프로파일 링하려고하는데 유용한 정보를 찾을 수 없었습니다. 어떤 기능이 내 CPU 시간을 차지하는지 알려주는 프로파일 러를 찾고 있습니다 (matlab 프로파일 러와 유사).

내가 시도한 것입니다

  • gprof. 이것은 내 리눅스 컴퓨터에서 사용하는 것이지만 Mac에서 빈 출력을 제공합니다 (분명히 알려진 문제)
  • 악기. 나는 내 컴파일 된 바이너리 내에서 무엇이든 프로파일 링하는 방법을 알아낼 수 없다. 유용한 튜토리얼도 찾을 수 없습니다.
  • (다른 검색에서 더 이상 사용할 수없는 Shark와 기억을위한 Valgrind가 드러났습니다).

도움을 주셔서 감사합니다!


악기는 사용할 도구입니다. Instruments에 대한 전체 설명은이 답변의 범위를 벗어나지 만 다음은 빠른 시작 가이드입니다.

  1. 악기를 엽니 다. 1
  2. "시간 프로파일 러"템플릿을 선택합니다.
  3. "대상"드롭 다운 메뉴에서 응용 프로그램을 선택합니다. 2
  4. 응용 프로그램 실행을 시작하려면 빨간색 원 ( "기록") 버튼을 누르십시오.
  5. 해당되는 경우 애플리케이션에서 프로파일 링해야하는 작업을 수행하십시오.
  6. 녹음을 중지하려면 녹음 버튼을 다시 누르십시오.
  7. Instruments의 도구를 사용하여 결과를 분석하십시오.

사용 가능한 도구 중 가장 자주 사용되는 도구는 다음과 같습니다.

  • 공개 화살표를 사용하여 통화 트리 확장
  • 초점을 맞추기 위해 함수 이름의 동그라미 화살표를 클릭
  • 함수를 두 번 클릭하여 관련 소스보기
  • 왼쪽의 "Invert Call Tree"체크 박스

1 Instruments를 여는 쉬운 방법 중 하나는 Spotlight를 사용하는 것입니다. 작업 표시 줄의 오른쪽 상단 (시계 옆)에있는 돋보기를 클릭하고 "Instruments"를 입력하면됩니다.

2 "대상 선택 ..."을 클릭하고 실행 파일의 경로로 이동합니다.


Instruments가 정답이지만 사용 방법을 알 수없는 경우 내장 된 Activity Monitor 응용 프로그램의 프로파일 러가 또 다른 옵션입니다. Activity Monitor에서 실행중인 모든 프로세스에 대한 정보를 얻을 수 있으며 잠시 동안 실행을 샘플링하는 버튼이 있습니다. 프로그램을 시작하고, 활동 모니터로 전환하고, 프로세스를 찾은 다음 샘플링해야합니다.

또한 디버거에서 프로그램을 실행하고 수동으로 여섯 번 정도 일시 중지하고 해당 시간에 호출 스택을 기록하여 '가난한 사람의 프로파일 링'을 수행 할 수 있습니다. 매우 간단하지만 프로그램의 상당 부분에 대한 첫 번째 패스로 놀랍게도 잘 작동합니다.


악기는 사용할 도구입니다. 빈 트레이스 문제를 해결하려면 XCode 내에서 Instruments를 열어야합니다.

Xcode > Open Developer Tool > Instruments

XCode를 마지막으로 업데이트하기 전에 Dock에 고정한 이전 Instruments 아이콘에서 Instruments를 열면 빈 트레이스가 표시됩니다.

참고 URL : https://stackoverflow.com/questions/11445619/profiling-c-on-mac-os-x

반응형