<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Thu, 23 May 2013 14:28:38 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Derick Rethans' Blog: Valgrinding shared modules]]></title>
      <guid>http://www.phpdeveloper.org/news/16689</guid>
      <link>http://www.phpdeveloper.org/news/16689</link>
      <description><![CDATA[<p>
In the process of some development he's been doing on various shared modules for PHP, <i>Derick Rethans</i> <a href="http://derickrethans.nl/valgrinding-shared-modules.html">stumbled across an issue</a> with using <a href="http://valgrind.org/">Valgrind</a> to test his code:
</p>
<blockquote>
While testing whether I correctly free all memory with <a href="http://valgrind.org/">Valgrind</a>, I ran into the issue where I couldn't see the stack frames of where the memory leaks occurred in the extensions, and once I even ran into a <a href="https://bugs.kde.org/show_bug.cgi?id=277045">Valgrind bug</a>. The reason why Valgrind could not show the function names belonging to the stack frames is because PHP had already unloaded the shared extensions from memory.
</blockquote>
<p>
A work-around he found was compiling the modules, but he wanted something "more correct" and less of a hassle. As a result he added a check for the ZEND_DONT_UNLOAD_MODULES environment flag to the PHP core to handles this case specifically. He includes a snippet of example code showing the Valgrind results with and without the flag.
</p>]]></description>
      <pubDate>Mon, 08 Aug 2011 14:35:20 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Douglas Clifton's Blog: Cachegrind your Web apps]]></title>
      <guid>http://www.phpdeveloper.org/news/11387</guid>
      <link>http://www.phpdeveloper.org/news/11387</link>
      <description><![CDATA[<p>
<i>Douglas Clifton</i> has a <a href="http://loadaveragezero.com/app/s9y/index.php?/archives/156-Cachegrind-your-Web-apps.html">quick new post</a> to his blog looking at an invaluable tool in application development (and not just in PHP) - cachegrind output.
</p>
<blockquote>
Valgrind is a entire <a href="http://valgrind.org/info/tools.html">suite</a> of <A href="http://loadaveragezero.com/app/drx/Software/Open_Source">open-source</a> <a href="http://loadaveragezero.com/app/drx/Programming/Development_Tools">tools</a>, including basic debugging, profiling, and more advanced techniques such as threading, memory management, and leak detection. For the purposes of this article, I will focus on Cachegrind, and in particular within the domain of Web applications. Although there are a number of developers contributing to Valgrind, Julian Seward is the original designer and author. 
</blockquote>
<p>
He talks about the <a href="http://valgrind.org/info/tools.html#cachegrind">cachegrind</a> software and the PHP-based profiler that can create these files - <a href="http://loadaveragezero.com/app/drx/Programming/Languages/PHP#xdebug:debugger">XDebug</a>. He also includes a list of a few of the cachegrind viewers including <a href="http://sourceforge.net/projects/kcachegrind/">KCachegrind</a> and <a href="http://loadaveragezero.com/app/drx/Programming/Development_Tools#google:webgrind">Webgrind</a>.
</p>]]></description>
      <pubDate>Tue, 11 Nov 2008 11:19:37 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: Web-based Frontend for XDebuxg - Webgrind]]></title>
      <guid>http://www.phpdeveloper.org/news/10102</guid>
      <link>http://www.phpdeveloper.org/news/10102</link>
      <description><![CDATA[<p>
<i>Joakim</i> passed along a note today about a new <a href="http://jokke.dk/2008/04/webgrind_a_web_frontend_for_xdebug">web-based frontend</a> for XDebug:
</p>
<blockquote>
My about page has mentioned a web based frontend for Xdebug for some time. The project has a name now: The idea for Webgrind, a spin on Valgrind, came from lack of profiling tools for PHP, particularly on OSX. Though it is possible to install kcachegrind on osx it seems overkill for many uses and is definitely not as easy as unzipping a folder to the webroot.
</blockquote>
<p>
He and <a href="http://oettinger.dk/">Jacob Oettinger</a> have started up the project and have posted some <a href="http://code.google.com/p/webgrind/">initial code</a> over on the Google Code page for Webgrind. You can check out a screenshot of it in action <a href="http://jokke.dk/media/2008-webgrind/webgrind_small.png">here</a> too.
</p>]]></description>
      <pubDate>Fri, 02 May 2008 16:07:14 -0500</pubDate>
    </item>
  </channel>
</rss>
