Профилирование g ++ приложение на MacOSX?

Мой стандартный Linux способ представить приложение:

1) compile with g++ -pg
2) run prog
3) gprof

По-видимому, gprof является broek на MacOSX 10.5, и я, как предполагается, использую Акулу. Все учебные руководства я нашел aby Акулу, включают XCode (тогда как моя сборка сделана с Makefiels и g ++).

Кто-то может отправить пошаговые инструкции для использования акулы на приложении, созданном с g ++? Скажите что-то как:

int main() { while(1); }

g++ blah.cpp -o blah; do I need to give it more command line arguments?

how do I use shark here?
7
задан anon 16 February 2010 в 12:45
поделиться

1 ответ

Инструментальное профилирование, такое как gprof, не особенно полезно, если вы действительно не хотите знать о графиках вызовов и количестве вызовов функций. Гораздо более полезным для анализа производительности является профилировщик выборки, и для этого инструмент Apple Shark (часть CHUD) является одним из лучших.

Вам действительно не нужно использовать Xcode для создания приложения для профилирования под Shark - у меня есть инструменты командной строки, созданные с помощью файлов Makefile, которые я постоянно профилирую с помощью Shark. Вы можете либо запускать Shark автоматически из вашего кода (для этого есть несколько различных API), либо вы можете использовать инструмент командной строки «chudRemoteCtrl» ( man chudRemoteCtrl ), либо вы можете просто настроить параметры запуска в Shark, чтобы установить путь к исполняемому файлу, рабочий каталог, аргументы командной строки и т. д., и вперед. Убедитесь, что вы создаете свое приложение с помощью -g , чтобы Shark могла отображать исходный код, а не дизассемблированный объектный код.

Конфигурация Shark для инструмента командной строки http://www.freeimagehosting.net/uploads/386737a1fa.jpg

3
ответ дан 7 December 2019 в 16:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: