Мой стандартный 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?
Инструментальное профилирование, такое как gprof, не особенно полезно, если вы действительно не хотите знать о графиках вызовов и количестве вызовов функций. Гораздо более полезным для анализа производительности является профилировщик выборки, и для этого инструмент Apple Shark (часть CHUD) является одним из лучших.
Вам действительно не нужно использовать Xcode для создания приложения для профилирования под Shark - у меня есть инструменты командной строки, созданные с помощью файлов Makefile, которые я постоянно профилирую с помощью Shark. Вы можете либо запускать Shark автоматически из вашего кода (для этого есть несколько различных API), либо вы можете использовать инструмент командной строки «chudRemoteCtrl» ( man chudRemoteCtrl
), либо вы можете просто настроить параметры запуска в Shark, чтобы установить путь к исполняемому файлу, рабочий каталог, аргументы командной строки и т. д., и вперед. Убедитесь, что вы создаете свое приложение с помощью -g
, чтобы Shark могла отображать исходный код, а не дизассемблированный объектный код.