Подтвердить что ты не робот

Профилирование С++ на mac os x

Я пытаюсь профилировать некоторый код С++ на моем mac (os x Lion), и я не смог найти ничего полезного. Я ищу профилировщик, который расскажет мне, какие функции занимают мое время процессора (похожее на профилировщик Matlab).

Вот что я пробовал

  • дргоЕ. Это то, что я использую на своей Linux-машине, но это просто дает мне пустой вывод на моем mac (видимо, известная проблема).
  • Инструменты. Я не могу за всю жизнь понять, как профилировать что-либо в моем скомпилированном двоичном файле. Я также не могу найти какой-либо полезный учебник.
  • (в другом поиске обнаружена акула, которая больше не доступна, и Valgrind для памяти).

Действительно оцените помощь!

4b9b3361

Ответ 1

Инструменты - это инструмент для использования. Полное объяснение инструментов выходит за рамки этого ответа, но здесь приводится краткое руководство:

  • Открытые инструменты. 1
  • Выберите шаблон "Профайлер времени".
  • Выберите свое приложение в раскрывающемся меню "Цель". 2
  • Нажмите кнопку красного круга ( "запись" ), чтобы запустить приложение.
  • Если применимо, сделайте некоторые вещи в своем приложении, которые вам нужны для профиля.
  • Нажмите кнопку записи еще раз, чтобы остановить запись.
  • Используйте инструменты в Инструментах для анализа ваших результатов.

Из доступных инструментов наиболее полезными будут следующие:

  • Расширение дерева вызовов с помощью стрелок раскрытия
  • Щелчок по круговой стрелке по имени функции для ее фокусировки
  • Двойной щелчок функции для просмотра связанного источника
  • Флажок "Инвертировать имя звонка" в левой части

1 Один простой способ открыть инструменты - использовать Spotlight: просто нажмите на увеличительное стекло в правом верхнем углу панели задач (рядом с часами) и введите "Инструменты",.суб >

2 Нажмите "Выбрать цель..." и перейдите к пути к исполняемому файлу.

Ответ 2

Инструменты - это правильный ответ, но если вы не можете понять, как его использовать, то другой вариант - это профилировщик встроенного приложения Activity Monitor. В Activity Monitor вы можете получить информацию о любом запущенном процессе и есть кнопка, чтобы пробовать ее выполнение на некоторое время. Вам нужно будет запустить свою программу, переключиться на Activity Monitor, найти процесс и затем пробовать его.

Кроме того, вы можете "профилировать плохого человека" просто запустив программу в отладчике и приостановив ее вручную полдюжины раз или около того и отмечая стек вызовов в это время. Это очень просто, но он работает на удивление хорошо, как первый проход для значительной части программ.

Ответ 3

Инструменты - это инструмент для использования. Чтобы преодолеть проблему пустых трасс, убедитесь, что вы открываете Инструменты из XCode:

Xcode > Open Developer Tool > Instruments

Если вы открываете Инструменты из значка старого инструмента, который вы привязали к док-станции до последнего обновления до XCode, он даст вам пустые трассы.