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


99

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

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


Я пытаюсь профилировать код php / javascript, поэтому больше интересую эти профилировщики. В любом случае спасибо за ваш вклад.
indianwebdevil

1
Я думаю, что большинство браузеров поставляются со своими собственными интерпретаторами Javascript, но Safari использует JavascriptCore, который доступен во всей ОС и, следовательно, то, что почти наверняка запускает содержимое Javascript со сценариями в других местах, таких как Cheetah3D. Если вы включите меню «Разработка» в настройках, тогда там будет профилировщик javascript.
Томми

Ответы:


135

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

brew install qcachegrind

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

brew install qcachegrind --with-graphviz

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


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.


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

Я попытался установить 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?


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, такие как утечки, они очень хороши.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.