<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SamuraiDio &#187; debug</title>
	<atom:link href="http://blog.diovani.com/tag/debug/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.diovani.com</link>
	<description>GNU/Linux &#124; PHP &#124; JavaScript</description>
	<lastBuildDate>Sat, 18 Dec 2010 21:19:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Configurando Eclipse PDT + XDebug</title>
		<link>http://blog.diovani.com/2008/08/10/configurando-eclipse-pdt-xdebug/</link>
		<comments>http://blog.diovani.com/2008/08/10/configurando-eclipse-pdt-xdebug/#comments</comments>
		<pubDate>Sun, 10 Aug 2008 18:20:20 +0000</pubDate>
		<dc:creator>diovani</dc:creator>
				<category><![CDATA[Sem Categoria]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.diovani.com/2008/08/10/configurando-eclipse-pdt-xdebug/</guid>
		<description><![CDATA[O XDebug é um alternativa livre e bem completa para depurar aplicações em PHP. Com ele é possível verificar em tempo de execução o valor de todas as variáveis durante erros, assim como em breakpoints pré-definidos.
Estarei demonstrando neste post como configurar o XDebug para ser utilizado em conjunto com o Eclipse PDT (former PHPIDE) no [...]]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://xdebug.org/">XDebug</a> é um alternativa livre e bem completa para <a href="http://pt.wikipedia.org/wiki/Depura%C3%A7%C3%A3o">depurar</a> aplicações em PHP. Com ele é possível verificar em tempo de execução o valor de todas as variáveis durante erros, assim como em <a href="http://en.wikipedia.org/wiki/Breakpoint">breakpoints</a> pré-definidos.</p>
<p>Estarei demonstrando neste post como configurar o XDebug para ser utilizado em conjunto com o <a href="http://www.eclipse.org/pdt/">Eclipse PDT (former PHPIDE)</a> no Debian testing (outras distribuições, e até mesmo Windows e Mac OS X  tem a mesma configuração, diferenciando-se apenas na instalação do XDebug e caminho do arquivo de configuração deste). O que deve salvar horas de depuração de seus aplicativos e extingir o uso das funções print_r() ou var_dump().</p>
<p>As versões mais recentes do Eclipse PDT já vem com suporte ao XDebug, como alternativa ao Zend Debugger, então, caso você já tenho o Eclipse PDT instalado em sua máquina, deve precisar, no máximo, atualizar a instalação com o update-manager. Para os demais, basta baixar da <a href="http://download.eclipse.org/tools/pdt/downloads/">página de downloads do Eclipse PDT</a>.</p>
<p>Mesmo para quem utilize Debian ou Ubuntu, recomendo baixar e instalar o Eclipse PDT manualmente pelo site, ao invés de utilizarem o gerenciador de pacotes (<em>aka. aptitude ou apt-get</em>), é apenas necessário ter o pacote <em>sun-java5-bin</em> instalado.</p>
<p>Para instalar o XDebug verifique os pacotes disponíveis para sua distribuição, ou faça o <a href="http://xdebug.org/">download dos binários</a> (para Windows e Mac) do site. Para usuários do Debian ou Ubuntu basta instalar via apt:</p>
<pre># aptitude install php5-xdebug</pre>
<p>Após concluída e instalação, edite o arquivo <em>xdebug.ini</em> (no Debian ele deve estar em <em>/etc/php5/conf.d/xdebug.ini</em>), mantenha a linha com a opção <em>&#8216;zend_extension=&#8217;</em> e adicione as linhas abaixo<em> </em>e reinicie seu servidor web (apache, lighttpd, etc.)<em>:</em></p>
<pre>xdebug.remote_enable=1
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"</pre>
<p>Para saber detalhes sobre estar opções, ou outras disponíveis, veja a <a href="http://xdebug.org/docs/">documentação do XDebug</a>.</p>
<p>Já no Eclipse, vá em <em>Window -&gt; Preferences -&gt; PHP -&gt; Debug -&gt; Installed Debuggers</em> e verifique se o XDebug está configurado na porta correta (<em>9000</em>, como colocamos no <em>xdebug.ini</em>):</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-10_144020.png" title="2008-08-10_144020.png"></a></p>
<p style="text-align: center"><a href="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-10_144020.png" title="2008-08-10_144020.png"><img src="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-10_144020.thumbnail.png" alt="2008-08-10_144020.png" /></a></p>
<p>Depois vá em  <em>Window -&gt; Preferences -&gt; PHP -&gt; PHP Executables </em>(mesma Janela) e edite/adicione o caminho correto para seu executável PHP, selecionando <em>XDebug</em> como <em>PHP debugger</em>:</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-10_144336.png" title="2008-08-10_144336.png"></a></p>
<p style="text-align: center"><a href="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-10_144336.png" title="2008-08-10_144336.png"><img src="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-10_144336.thumbnail.png" alt="2008-08-10_144336.png" /></a></p>
<p>Então vá em  <em>Window -&gt; Preferences -&gt; PHP -&gt; Debug</em> (mesma janela)<em> </em>e selecione o <em>XDebug</em> como seu <em>PHP debugger</em> padrão e seus executável PHP. Também desmarque a opção <em>Break at first line</em>, pois esta poderá ser adicionada mais tarde.</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-10_144004.png" title="2008-08-10_144004.png"></a></p>
<p style="text-align: center"><a href="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-10_144004.png" title="2008-08-10_144004.png"><img src="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-10_144004.thumbnail.png" alt="2008-08-10_144004.png" /></a></p>
<p>Após definir as configurações gerais, feche a janela e vá em <em>Run -&gt; Open Debug Dialog </em>e<em> </em>de dois cliques em <em>PHP Web Page</em>. Nesta janela basta configurar o <em>XDebug</em> como <em>Server Debugger</em> o servidor web (Apache, Lighttpd, etc.) onde será acessada a aplicação, em <em>PHP Server, </em>o arquivo que iniciará aplicação (geralmente algum <em>index.php</em>, obrigatoriamente dentro de um projeto previamente configurado), em <em>file</em>, e a url para este arquivo, é qual pode ser configurada automaticamente, ou definida manualmente. Note também a opção <em>Break at First Line</em> que pode ser definida para a aplicação ser debugada logo na primeira linha:</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-10_144124.png" title="2008-08-10_144124.png"></a></p>
<p style="text-align: center"><a href="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-10_144124.png" title="2008-08-10_144124.png"><img src="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-10_144124.thumbnail.png" alt="2008-08-10_144124.png" /></a></p>
<p>Também deve ser necessário definir o navegador onde as páginas serão exibidar em <em>Window -&gt; Preferences -&gt; General -&gt; Web Browser. </em>Selecione <em>User external Web browser </em>e escolha o navegador de sua preferência (Iceweasel ou Firefox, no meu caso).</p>
<p><a href="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-10_143907.png" title="Perspectiva PHP Debug, exibindo variáveis atuais, com XDebug"><img src="http://blog.diovani.com/wp-content/uploads/2008/08/2008-08-10_143907.thumbnail.png" alt="Perspectiva PHP Debug, exibindo variáveis atuais, com XDebug" align="right" /></a>Após concluída a configuração, basta clicar no botão <em>Debug</em> da barra de ferramentas e a sessão será iniciada. Sempre que houver algum erro na aplicação, ou esta atingir um breakpoint definido por você, a perspectiva deverá mudar para a <em>PHP Debug</em>, pausando a aplicação, e exibindo todas as variáveis (inclusive parametros enviados por GET ou POST e variáveis de sessão) definidas atualmente.</p>
<p><em>Fonte: <a href="http://www.starbowconsulting.com/blog/tao/setting-eclipse-pdt-and-xdebug">http://www.starbowconsulting.com/blog/tao/setting-eclipse-pdt-and-xdebug</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.diovani.com/2008/08/10/configurando-eclipse-pdt-xdebug/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

