у вас есть инструменты профилирования, подобные kcachegrind для Mac [закрыто]

99

Кто-нибудь может рассказать мне об имеющихся у вас инструментах для профилирования, таких как kcachegrind wingrind valgrind для платформы Mac.

Я не думаю, что это работает на Mac, я также быстро проверил это.

индийский
источник
Я пытаюсь профилировать код php / javascript, поэтому больше интересую эти профилировщики. В любом случае спасибо за ваш вклад.
indianwebdevil
1
Я думаю, что большинство браузеров поставляются со своими собственными интерпретаторами Javascript, но Safari использует JavascriptCore, который доступен во всей ОС и, следовательно, то, что почти наверняка запускает содержимое Javascript со сценариями в других местах, таких как Cheetah3D. Если вы включите меню «Разработка» в настройках, тогда там будет профилировщик javascript.
Томми
См. Также: stackoverflow.com/questions/5426799/…
kenorb

Ответы:

135

В итоге я использовал qcachegrind на OSX. Его можно установить через варево

brew install qcachegrind

или, чтобы включить поддержку graphviz :

brew install qcachegrind --with-graphviz

Что хорошего в этой программе, так это то, что я успешно загрузил на свой MacBook Pro файл cachegrind размером 6,1 ГБ! Довольно ловко!

MR-SK
источник
9
brew updateперед этим предотвращает странные ошибки :)
grosser
3
brew install graphvizесли вам нужны красивые графики вызовов.
Нгок Фам
2
Мне пришлось использовать символическую точку, чтобы заставить графы вызовов работать sudo ln -s / usr / local / bin / dot / usr / bin / dot
Джон Крамлич
У меня это сработало без проблем! Спасибо!
Răzvan Ciocănel
1
из этого, blog.josephscott.org/2013/07/03/… в комментариях, чтобы обойти защиту системы с помощью точки: от @Motrin: Это больше не работает в OSX El Capitan из-за защиты интеграции системы: sudo ln - s / usr / local / bin / dot / usr / bin / dot Обходной путь: $ cd /Applications/qcachegrind.app/Contents/MacOS $ mv qcachegrind qcachegrind.bin $ echo '#! / bin / bash export PATH = ”$ PATH : / usr / local / bin ”$ (dirname $ 0) /qcachegrind.bin exit 0 '> qcachegrind $ chmod + x qcachegrind Затем запустите qcachegrind как обычно.
troseman
60

Попробуйте комбинацию убийц qcachegrind + Graphviz.

Он быстро устанавливается через brew, что приятно.

Ознакомьтесь с этими инструкциями, в основном установите его через:

brew install qcachegrind

который загрузит другие зависимости, такие как qtи graphviz.

GlennR
источник
13
Теперь есть «brew install qcachegrind», формула которого основана на этом блоге. Хотя он (atm) не устанавливает /Applications/QCachegrind.app, а только двоичный файл qcachegrind.
DTest 06
Еще один полезный пост: blog.jcmultimedia.com.au/2014/03/…
Jazzo
15

И valgrind, и kcachegrind доступны для Mac OS X.

Вы можете установить их с помощью MacPorts :

sudo port install valgrind kcachegrind
Raimue
источник
Я попытался установить macports и сделал sudo port install valgrind kcachegrind. Это была ошибка для обоих приложений ------------------- Предупреждение: индексы не найдены! Вы синхронизировали исходные индексы? Ошибка: порт kcachegrind не найден ---------------- любая подсказка, что происходит
indianwebdevil
1
Порт kcachegrind был официально закрыт 2 года назад :( trac.macports.org/log/trunk/dports/devel/kcachegrind/Portfile
Potatoswatter
@Potatoswatter В MacPorts есть много портов, для которых нет конкретного сопровождающего. Это означает, что порт больше не может быть установлен.
raimue
1
@Raim Это означает, что порт теперь устанавливает программное обеспечение, устаревшее на 2 года.
Potatoswatter
15

Вы можете установить KCacheGrind с помощью MacPorts .

Есть также несколько альтернатив, например:

См. Также: Есть ли альтернатива KCacheGrind для Mac Os X?

Kenorb
источник
8

Webgrind работает на PHP и может читать вывод cachegrind XDebug. В настоящее время он не предлагает всех функций KCacheGrind, но его очень просто установить, и, похоже, его активность возобновилась.

Ян Фабри
источник
7

MacCallGrind - это полукоммерческая альтернатива, доступная для Mac. Я экспериментировал с бесплатной версией, размер которой ограничен 3 МБ. По функциональности он примерно эквивалентен WinCacheGrind .

Нурикабе
источник
Теперь чисто коммерческое.
Виктор Сергиенко
2

Apple поставляет инструменты для мониторинга распределения данных во время выполнения и поиска утечек, Shark для явного профилирования и Guard Malloc (непосредственно встроенного в Xcode) для отладки распределения памяти. Все это входит в состав инструментов разработчика.

Томми
источник
1
В последних выпусках OS X Shark теперь встроена в инструменты.
rcoup 05
1

valgrind доступен для Mac. Если вы создаете приложение какао, вы можете использовать инструменты, поставляемые с XCode, такие как утечки, они очень хороши.

шреясва
источник