【问题标题】:Need kcachegrind like profiling tools for mac [closed]需要类似 kcachegrind 的 mac 分析工具 [关闭]
【发布时间】:2011-05-27 06:27:31
【问题描述】:

需要类似 kcachegrindwingrind valgrind for mac 平台的工具的建议。

我认为这些在 mac 上不起作用,我已经检查过这些。

【问题讨论】:

  • 我正在尝试分析 php/javascript 代码,因此对这些分析器更感兴趣。感谢您的意见。
  • 我认为大多数浏览器都带有自己的 Javascript 解释器,但 Safari 使用 JavascriptCore,它在整个操作系统中公开,因此几乎可以肯定在 Cheetah3D 等其他地方运行脚本化的 Javascript 内容。如果您在首选项中启用“开发”菜单,那么那里有一个 javascript 分析器。

标签: macos macports profiling


【解决方案1】:

valgrind 可用于 mac。如果你正在构建一个 cocoa 应用程序,你可以使用 XCode 自带的工具,例如泄漏,它们非常好。

【讨论】:

    【解决方案2】:

    Apple 提供 Instruments 用于监控运行时的内容分配并发现泄漏,Shark 用于显式分析,而 Guard Malloc(直接内置于 Xcode)用于内存分配调试。这些都是开发人员工具的一部分。

    【讨论】:

    • 在最近的 OS X 版本中,Shark 现在内置于 Instruments 中。
    【解决方案3】:

    valgrind 和 kcachegrind 都可用于 Mac OS X。

    您可以使用MacPorts 安装它们:

    sudo port install valgrind kcachegrind
    

    【讨论】:

    • 我尝试安装 macports 并 sudo port install valgrind kcachegrind,这是两个应用程序的错误 -------------------- 警告:没有索引(es) 找到了!您是否同步了源索引?错误:未找到端口 kcachegrind----------------任何线索发生了什么
    • kcachegrind 端口在 2 年前被正式废弃 :( trac.macports.org/log/trunk/dports/devel/kcachegrind/Portfile
    • @Potatoswatter MacPorts 中有许多端口没有特定的维护者。这确实意味着无法再安装该端口。
    • @Raim 这确实意味着该端口现在安装的软件已过期 2 年。
    【解决方案4】:

    Webgrind 在 PHP 中运行,可以读取 XDebug 的 cachegrind 输出。它目前不提供 KCacheGrind 的所有功能,但安装起来超级简单,而且似乎有新的活动。

    【讨论】:

      【解决方案5】:

      MacCallGrind 是适用于 Mac 的半商业替代品。我已经试用了限制为 3MB 研磨文件的免费版本。就功能而言,它大致相当于WinCacheGrind

      【讨论】:

      • 现在纯商业化。
      【解决方案6】:

      试试 qcachegrind + Graphviz 杀手组合。

      它通过 brew 快速安装,这很好。

      查看these的说明,基本上通过以下方式安装:

      brew install qcachegrind
      

      它将下载其他依赖项,例如qtgraphviz

      【讨论】:

      • 现在有一个“brew install qcachegrind”,其中的公式基于该博客。虽然它(atm)没有安装 /Applications/QCachegrind.app,只是一个 qcachegrind 二进制文件。
      • 另一个有用的帖子:blog.jcmultimedia.com.au/2014/03/…
      【解决方案7】:

      我最终在 OSX 上使用了 qcachegrind。可以通过brew安装

      brew install qcachegrind
      

      或者,启用 graphviz 支持:

      brew install qcachegrind --with-graphviz
      

      这个程序的好处是我成功地在我的 MacBook Pro 上加载了一个 6.1GB 的 cachegrind 文件!很漂亮!

      【讨论】:

      • brew update 在这样做之前可以防止奇怪的错误:)
      • brew install graphviz 如果你想要一些漂亮的调用图。
      • 我必须对点进行符号链接才能使调用图工作 sudo ln -s /usr/local/bin/dot /usr/bin/dot
      • 从此,blog.josephscott.org/2013/07/03/… 在 cmets 中绕过系统保护以使用 dot: from @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。
      • --with-graphviz arg 对我不起作用(即使在 brew updatebrew doctor 之后),但随后将 brew install qcachegrindbrew install graphviz 作为单独的命令起作用。
      【解决方案8】:

      您可以使用MacPorts 安装 KCacheGrind。

      还有一些替代方案,例如:

      另见:Is there any KCacheGrind alternative for Mac Os X outta there?

      【讨论】:

        猜你喜欢
        • 2011-03-18
        • 1970-01-01
        • 1970-01-01
        • 2011-09-13
        • 2012-12-26
        • 2010-09-27
        • 1970-01-01
        • 2012-01-03
        • 1970-01-01
        相关资源
        最近更新 更多