Mac OS X에서 C ++ 프로파일 링
Mac (os x Lion)에서 일부 C ++ 코드를 프로파일 링하려고하는데 유용한 정보를 찾을 수 없었습니다. 어떤 기능이 내 CPU 시간을 차지하는지 알려주는 프로파일 러를 찾고 있습니다 (matlab 프로파일 러와 유사).
내가 시도한 것입니다
- gprof. 이것은 내 리눅스 컴퓨터에서 사용하는 것이지만 Mac에서 빈 출력을 제공합니다 (분명히 알려진 문제)
- 악기. 나는 내 컴파일 된 바이너리 내에서 무엇이든 프로파일 링하는 방법을 알아낼 수 없다. 유용한 튜토리얼도 찾을 수 없습니다.
- (다른 검색에서 더 이상 사용할 수없는 Shark와 기억을위한 Valgrind가 드러났습니다).
도움을 주셔서 감사합니다!
악기는 사용할 도구입니다. Instruments에 대한 전체 설명은이 답변의 범위를 벗어나지 만 다음은 빠른 시작 가이드입니다.
- 악기를 엽니 다. 1
- "시간 프로파일 러"템플릿을 선택합니다.
- "대상"드롭 다운 메뉴에서 응용 프로그램을 선택합니다. 2
- 응용 프로그램 실행을 시작하려면 빨간색 원 ( "기록") 버튼을 누르십시오.
- 해당되는 경우 애플리케이션에서 프로파일 링해야하는 작업을 수행하십시오.
- 녹음을 중지하려면 녹음 버튼을 다시 누르십시오.
- 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
'developer tip' 카테고리의 다른 글
어떻게 파이썬의 file.write ()가 Windows에서 Linux와 같은 줄 바꿈 형식 ( "\ r \ n"대 "\ n")을 사용하도록 할 수 있습니까? (0) | 2020.12.08 |
---|---|
inline! important를 재정의 할 수 있습니까? (0) | 2020.12.08 |
'require': 해당 파일을로드 할 수 없음 —`rails server` 실행시 'nokogiri \ nokogiri'(LoadError) (0) | 2020.12.07 |
예약 된 이벤트가 아닌 람다 함수로 SQS 대기열을 처리하는 방법은 무엇입니까? (0) | 2020.12.07 |
Vue.js-단일 파일 구성 요소에서 전역 적으로 사용 가능한 도우미 기능 만들기 (0) | 2020.12.07 |