{"id":54027,"date":"2022-10-13T03:55:26","date_gmt":"2022-10-13T06:55:26","guid":{"rendered":"https:\/\/kinsta.com\/pt\/?p=54027&#038;preview=true&#038;preview_id=54027"},"modified":"2025-02-28T11:10:28","modified_gmt":"2025-02-28T14:10:28","slug":"xdebug","status":"publish","type":"post","link":"https:\/\/kinsta.com\/pt\/blog\/xdebug\/","title":{"rendered":"Como Xdebug Pode Ajudar Voc\u00ea a se Tornar um Desenvolvedor WordPress Melhor"},"content":{"rendered":"<p>Como qualquer desenvolvedor pode atestar, o c\u00f3digo nunca est\u00e1 pronto para a produ\u00e7\u00e3o ap\u00f3s o primeiro rascunho. Uma parte chave do processo de desenvolvimento \u00e9 a depura\u00e7\u00e3o &#8211; remover ou alterar todas as partes do seu c\u00f3digo que n\u00e3o funcionam.<\/p>\n<p>A extens\u00e3o Xdebug para PHP \u00e9 uma maneira popular de erradicar e destruir todos os bugs do seu c\u00f3digo.<\/p>\n<p>Um dos grandes aspectos do Xdebug \u00e9 como ele \u00e9 flex\u00edvel. Independentemente da sua framework preferida ou ambiente de desenvolvimento, voc\u00ea conseguir\u00e1 encontrar uma vers\u00e3o do Xdebug que se encaixa no seu fluxo de trabalho. A partir da\u00ed, ter um controle sobre a ferramenta n\u00e3o vai levar muito tempo.<\/p>\n<p>Este tutorial ir\u00e1 analisar o Xdebug em detalhes, incluindo o processo de instala\u00e7\u00e3o, integrando-o em sua configura\u00e7\u00e3o e uso geral.<\/p>\n<p>Primeiro, vamos lhe dar mais contexto sobre o que \u00e9 Xdebug e o que ele faz.<br \/>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc><\/p>\n<h2>Apresentando o Xdebug<\/h2>\n<p><a href=\"https:\/\/xdebug.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Xdebug<\/a> \u00e9 uma das extens\u00f5es mais populares para depurar seu c\u00f3digo PHP. Voc\u00ea ir\u00e1 instal\u00e1-lo a partir do ambiente escolhido e ele atua como um &#8220;depurador de passos&#8221;<\/p>\n<figure id=\"attachment_133040\" aria-describedby=\"caption-attachment-133040\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133040 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/xdebug.png\" alt=\"A logo Xdebug\" width=\"1000\" height=\"187\"><figcaption id=\"caption-attachment-133040\" class=\"wp-caption-text\">A logo Xdebug<\/figcaption><\/figure>\n<p>Em resumo, isto permite que voc\u00ea trabalhe em seu c\u00f3digo linha por linha para que voc\u00ea possa passar e ver como o c\u00f3digo age e interage dentro do seu programa, assim como investigar sua sa\u00edda. A partir da\u00ed, voc\u00ea pode fazer \u00e0s mudan\u00e7as que achar melhor.<\/p>\n<p>Xdebug pode fazer muito mais, no entanto:<\/p>\n<ul>\n<li>Voc\u00ea pode analisar a <a href=\"https:\/\/kinsta.com\/pt\/blog\/monitoramento-desempenho-aplicativos\/\" target=\"_blank\" rel=\"noopener noreferrer\">performance do seu c\u00f3digo<\/a> usando um conjunto de m\u00e9tricas e visualiza\u00e7\u00f5es.<\/li>\n<li>Quando voc\u00ea executa testes de unidade PHP, voc\u00ea pode ver quais suites de c\u00f3digo voc\u00ea executa e executa.<\/li>\n<li>O Xdebug inclui recursos de &#8220;tracing&#8221;, que ir\u00e1 gravar cada chamada de fun\u00e7\u00e3o em disco. Isto incluir\u00e1 argumentos, atribui\u00e7\u00f5es de vari\u00e1veis e valores de retorno.<\/li>\n<li>O Xdebug tamb\u00e9m faz melhorias no relat\u00f3rio de erros padr\u00e3o do PHP. Cobriremos mais sobre isso mais tarde.<\/li>\n<\/ul>\n<p>Dado o conjunto de recursos, h\u00e1 muitas maneiras de usar o Xdebug (e qualquer depurador similar) dentro do seu fluxo de trabalho. Cobriremos na pr\u00f3xima se\u00e7\u00e3o.<\/p>\n\n<h2>Por que voc\u00ea quer usar o Xdebug<\/h2>\n<p>Muitos desenvolvedores n\u00e3o ter\u00e3o um fluxo de trabalho de depura\u00e7\u00e3o dedicado que utilize ferramentas e extens\u00f5es de terceiros. Isto \u00e9 porque o PHP inclui seu pr\u00f3prio log de erros rudimentares. Voc\u00ea vai usar comandos como <code>error_log<\/code>, <code>var_dump<\/code>, e imprimir para ver os resultados das vari\u00e1veis e chamadas de fun\u00e7\u00f5es.<\/p>\n<p>Por exemplo, h\u00e1 muitos trechos que voc\u00ea pode redirecionar para o desenvolvimento de WordPress &#8211; <a href=\"https:\/\/stackoverflow.com\/questions\/15085482\/wordpress-debugging\">Stack Overflow est\u00e1 repleto deles<\/a>:<\/p>\n<pre><code class=\"language-php\">function log_me($message) {\n  if ( WP_DEBUG === true ) {\n      if ( is_array($message) || is_object($message) ) {\n          error_log( print_r($message, true) );\n      } else {\n           error_log( $message );\n      }\n  }\n}<\/code><\/pre>\n<p>No entanto, h\u00e1 alguns inconvenientes importantes nesta abordagem:<\/p>\n<ul>\n<li>Primeiro voc\u00ea deve garantir que voc\u00ea habilite os registros de erros para a plataforma com a qual voc\u00ea est\u00e1 trabalhando. Neste caso, voc\u00ea vai querer habilitar <code>WP_DEBUG<\/code> (mais sobre isso em breve).<\/li>\n<li>Este exemplo de &#8220;dump&#8221; debugging oferece menos espa\u00e7o para investiga\u00e7\u00e3o do que o debugging passo a passo. Aqui, voc\u00ea s\u00f3 pode emitir o que voc\u00ea definir.<\/li>\n<\/ul>\n<p>Este \u00faltimo ponto requer muito esfor\u00e7o manual, especialmente se o seu trabalho di\u00e1rio n\u00e3o for <a href=\"https:\/\/kinsta.com\/pt\/blog\/sysadmin\/\" target=\"_blank\" rel=\"noopener noreferrer\">como um administrador de sistema<\/a>. Por exemplo, se voc\u00ea quiser depurar um bloco de c\u00f3digo, voc\u00ea pode adicionar seu snippet baseado em uma vari\u00e1vel que voc\u00ea definir. Entretanto, ele pode n\u00e3o ser a fonte do problema ou mesmo indicar o que est\u00e1 acontecendo.<\/p>\n<p>Ao inv\u00e9s disso, uma ferramenta como o Xdebug pode trabalhar sua magia para fornecer um escopo maior:<\/p>\n<ul>\n<li>Voc\u00ea pode &#8220;quebrar&#8221; seu c\u00f3digo em v\u00e1rios pontos durante a execu\u00e7\u00e3o para ver o que est\u00e1 acontecendo em tempo real.<\/li>\n<li>H\u00e1 uma infinidade de m\u00e9tricas, visualiza\u00e7\u00f5es, ramifica\u00e7\u00f5es e muito mais para ajud\u00e1-lo a determinar o que seu c\u00f3digo est\u00e1 fazendo e como ele responde.<\/li>\n<li>Algumas vezes, voc\u00ea pode at\u00e9 mesmo mudar os valores durante o processo de depura\u00e7\u00e3o. Isto oferece imenso valor, mesmo para conjuntos de c\u00f3digos que funcionam bem. Voc\u00ea pode essencialmente realizar testes manuais de unidade em qualquer ponto.<\/li>\n<li>Como voc\u00ea usa pontos de interrup\u00e7\u00e3o para marcar \u00e1reas para depura\u00e7\u00e3o, voc\u00ea n\u00e3o precisa trabalhar com snippets dentro do seu c\u00f3digo. Isso mant\u00e9m seu c\u00f3digo mais limpo e reduz o n\u00famero de problemas futuros.<\/li>\n<\/ul>\n<p>Em geral, usar uma ferramenta como o Xdebug \u00e9 uma decis\u00e3o pr\u00f3-ativa ao inv\u00e9s de uma decis\u00e3o reativa. Voc\u00ea pode usar a depura\u00e7\u00e3o por etapas como parte do processo de desenvolvimento central, muito parecido com a implementa\u00e7\u00e3o de testes unit\u00e1rios como parte do desenvolvimento orientado por testes (TDD).<\/p>\n<h2>Como ativar o registro de erros do PHP<\/h2>\n<p>Enquanto voc\u00ea poderia depurar seu c\u00f3digo sem um erro espec\u00edfico, muitas vezes \u00e9 bom saber se um problema ocorre sem ter o Xdebug aberto. Isto lhe d\u00e1 um <a href=\"https:\/\/kinsta.com\/pt\/blog\/depurando-problemas-de-desempenho-no-wordpress\/\" target=\"_blank\" rel=\"noopener noreferrer\">ponto de partida para a explora\u00e7\u00e3o<\/a>. N\u00e3o \u00e9 estritamente necess\u00e1rio, mas pode ser uma parte \u00fatil da sua cadeia.<\/p>\n<p>Para reportar cada erro que surgir, voc\u00ea precisar\u00e1 adicionar uma linha ao topo do arquivo PHP relevante:<\/p>\n<pre><code class=\"language-bash\">error_reporting(E_ALL);<\/code><\/pre>\n<p>Este \u00e9 um comando de captura, e voc\u00ea pode conseguir o mesmo usando a fun\u00e7\u00e3o <code><a href=\"https:\/\/www.php.net\/manual\/en\/function.ini-set.php\">ini_set<\/a><\/code> fun\u00e7\u00e3o:<\/p>\n<pre><code class=\"language-bash\">ini_set('error_reporting', E_ALL);<\/code><\/pre>\n<p>Isto permite que voc\u00ea altere as configura\u00e7\u00f5es dentro do seu arquivo <strong>php.ini<\/strong> em uma base projeto a projeto. Enquanto voc\u00ea poderia entrar neste arquivo e fazer uma mudan\u00e7a manual, muitas vezes \u00e9 uma ideia melhor trabalhar com <code>ini_set<\/code> para alterar o par\u00e2metro espec\u00edfico:<\/p>\n<pre><code class=\"language-bash\">ini_set('display_errors', '1');<\/code><\/pre>\n<p>Uma vez que voc\u00ea tenha o relat\u00f3rio de erros ativo definido ao seu gosto, voc\u00ea pode come\u00e7ar a trabalhar com o Xdebug.<\/p>\n<h2>Como usar o Xdebug<\/h2>\n<p>Nas pr\u00f3ximas se\u00e7\u00f5es, mostraremos a voc\u00ea como usar o Xdebug, incluindo os passos que voc\u00ea precisar\u00e1 dar para configurar \u00e0s coisas. Embora n\u00e3o possamos cobrir todos os aspectos da ferramenta, este guia de in\u00edcio r\u00e1pido o colocar\u00e1 em a\u00e7\u00e3o rapidamente.<\/p>\n<p>Primeiro, no entanto, voc\u00ea precisa instalar o Xdebug. Vamos descobrir como fazer isso.<\/p>\n<h3>1. Instale o Xdebug para o seu Sistema Operacional (SO)<\/h3>\n<p>Como o Xdebug \u00e9 adapt\u00e1vel a qualquer n\u00famero de configura\u00e7\u00f5es, o <a href=\"https:\/\/xdebug.org\/docs\/install\">processo exato<\/a> para cada uma delas ser\u00e1 ligeiramente diferente. No n\u00edvel do sistema operacional, h\u00e1 algumas diferen\u00e7as:<\/p>\n<ul>\n<li><strong>Windows:<\/strong> Este \u00e9 um processo de configura\u00e7\u00e3o um tanto complicado que envolve o uso de um arquivo PHP existente e um <a href=\"https:\/\/xdebug.org\/wizard\">assistente de instala\u00e7\u00e3o<\/a>, ent\u00e3o baixando a vers\u00e3o certa para o seu sistema.<\/li>\n<li><strong>Linux:<\/strong> O m\u00e9todo aqui \u00e9 indiscutivelmente o mais simples: Voc\u00ea pode usar um <a href=\"https:\/\/xdebug.org\/docs\/install#linux\">gerenciador de pacotes<\/a> para instalar o Xdebug, ou a <a href=\"https:\/\/xdebug.org\/docs\/install#pecl\">Biblioteca da Comunidade de Extens\u00e3o PHP (PECL)<\/a>.<\/li>\n<li><strong>Mac:<\/strong> Este m\u00e9todo tamb\u00e9m \u00e9 simples: Uma vez instalada a PECL, voc\u00ea pode rodar <code>pecl install xdebug<\/code> a partir de uma inst\u00e2ncia do Terminal. Voc\u00ea tamb\u00e9m precisar\u00e1 ter \u00e0s ferramentas de linha de comando XCode e PHP instaladas em seu sistema.<\/li>\n<\/ul>\n<p>No entanto, a maioria dos usu\u00e1rios n\u00e3o v\u00e3o querer ficar com uma inst\u00e2ncia de Xdebug em n\u00edvel de sistema. Ao inv\u00e9s disso, voc\u00ea vai querer integr\u00e1-la em seu pr\u00f3prio ambiente de desenvolvimento.<\/p>\n<h3>2. Integre o Xdebug ao seu ambiente de desenvolvimento<\/h3>\n<p>Uma vez instalado o Xdebug para o seu sistema operacional, voc\u00ea deve conect\u00e1-lo ao seu ambiente.<\/p>\n<p>H\u00e1 tantos sistemas e ferramentas suportados aqui que n\u00e3o podemos entrar em todos eles. Mais tarde, lhe ofereceremos instru\u00e7\u00f5es para <a href=\"https:\/\/kinsta.com\/pt\/devkinsta\/\" target=\"_blank\" rel=\"noopener noreferrer\">DevKinsta<\/a> e <a href=\"https:\/\/www.jetbrains.com\/phpstorm\/\" target=\"_blank\" rel=\"noopener noreferrer\">PhpStorm<\/a>. Mesmo assim, h\u00e1 muitos outros ambientes populares para escolher. Abaixo est\u00e3o algumas das nossas principais recomenda\u00e7\u00f5es.<\/p>\n<h4>Varying Vagrant Vagrants (VVV)<\/h4>\n<p><a href=\"https:\/\/varyingvagrantvagrants.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">VVV<\/a> \u00e9 um dos ambientes nomeados no <a href=\"https:\/\/make.wordpress.org\/core\/handbook\/tutorials\/installing-a-local-server\/installing-vvv\/\" target=\"_blank\" rel=\"noopener noreferrer\">site Make WordPress<\/a>:<\/p>\n<figure id=\"attachment_133039\" aria-describedby=\"caption-attachment-133039\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133039 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/vvv-logo.png\" alt=\"A logo Varying Vagrant Vagrants\" width=\"1000\" height=\"349\"><figcaption id=\"caption-attachment-133039\" class=\"wp-caption-text\">A logo Varying Vagrant Vagrants<\/figcaption><\/figure>\n<p>A boa not\u00edcia \u00e9 que o VVV j\u00e1 inclui uma <a href=\"https:\/\/varyingvagrantvagrants.org\/docs\/en-US\/references\/xdebug\/\" target=\"_blank\" rel=\"noopener noreferrer\">vers\u00e3o do Xdebug<\/a>, mas voc\u00ea precisa ativ\u00e1-lo. Voc\u00ea pode fazer isso usando o Secure Shell (SSH) dentro de uma janela do Terminal:<\/p>\n<pre><code class=\"language-bash\">vagrant ssh -c \"switch_php_debugmod xdebug\"<\/code><\/pre>\n<p>No entanto, h\u00e1 um pouco de sucesso no desempenho, e voc\u00ea precisar\u00e1 ativar essa op\u00e7\u00e3o novamente se voc\u00ea fornecer seus sites.<\/p>\n<h4>Laravel Valet<\/h4>\n<p>Para alguns usu\u00e1rios, <a href=\"https:\/\/laravel.com\/docs\/9.x\/valet\">Laravel Valet<\/a> representa um ambiente de desenvolvimento web quase perfeito. Melhor ainda, voc\u00ea pode integrar o Xdebug com ele.<\/p>\n<p>Para fazer isso, voc\u00ea precisar\u00e1 criar um arquivo de configura\u00e7\u00e3o para o depurador. Voc\u00ea pode encontrar seu pr\u00f3prio caminho usando <code>php --ini<\/code> na linha de comando, que ir\u00e1 retornar alguns caminhos de arquivo diferentes:<\/p>\n<figure id=\"attachment_133036\" aria-describedby=\"caption-attachment-133036\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133036 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/terminal-php-ini.png\" alt=\"O Terminal mostrando uma lista de caminhos de arquivos de configura\u00e7\u00e3o\" width=\"1000\" height=\"444\"><figcaption id=\"caption-attachment-133036\" class=\"wp-caption-text\">O Terminal mostrando uma lista de caminhos de arquivos de configura\u00e7\u00e3o<\/figcaption><\/figure>\n<p>A seguir, crie um novo arquivo <strong>xdebug.ini<\/strong> no caminho para arquivos <strong>.ini<\/strong> adicionais. Em nosso exemplo, ele est\u00e1 em <strong>\/opt\/homebrew\/etc\/php\/7.4\/conf.d<\/strong>.<\/p>\n<p>Assim que voc\u00ea abrir este novo arquivo, abra tamb\u00e9m o caminho para o arquivo de configura\u00e7\u00e3o carregado (seu arquivo <strong>php.ini<\/strong> principal). Com ambos abertos, adicione o seguinte ao rodap\u00e9:<\/p>\n<ul>\n<li><strong>php.ini:<\/strong> <code>zend_extension=\"xdebug.so\"<\/code><\/li>\n<li><strong>xdebug.ini:<\/strong> <code>xdebug.mode=debug<\/code><\/li>\n<\/ul>\n<p>Uma vez que voc\u00ea salvou suas mudan\u00e7as, execute <code>valet restart<\/code> do Terminal, ent\u00e3o adicione <code>phpinfo(); exit;<\/code> a um dos arquivos do seu site. Voc\u00ea vai querer verificar se isso funciona atrav\u00e9s de um r\u00e1pido carregamento de p\u00e1gina no navegador.<\/p>\n<figure id=\"attachment_133031\" aria-describedby=\"caption-attachment-133031\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133031 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/php-info-page.png\" alt=\"A tela de informa\u00e7\u00e3o PHP.\" width=\"1000\" height=\"498\"><figcaption id=\"caption-attachment-133031\" class=\"wp-caption-text\">A tela de informa\u00e7\u00e3o PHP.<\/figcaption><\/figure>\n<p>Note que voc\u00ea pode precisar reiniciar o PHP usando <code>sudo brew services restart php<\/code> assim como verificar se a instala\u00e7\u00e3o do Xdebug em seu sistema est\u00e1 correta usando <code>php --info | grep xdebug<\/code>. Voc\u00ea vai notar as linhas espec\u00edficas do Xdebug na sa\u00edda:<\/p>\n<p><img decoding=\"async\" class=\"size-full wp-image-133027\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/grep-xdebug-mode.png\" alt=\"A Terminal window showing a number of different Xdebug configuration settings (such as output names and display variables). The prompt shows the \"><\/p>\n<p>A partir daqui, voc\u00ea pode procurar incorporar o Xdebug em seu editor de c\u00f3digos de escolha.<\/p>\n<h4>XAMPP<\/h4>\n<p>Assim como o Valet, existem algumas partes do processo para o <a href=\"https:\/\/www.apachefriends.org\/download.html\">XAMPP<\/a>. Entretanto, as vers\u00f5es Windows e macOS t\u00eam dois processos diferentes.<\/p>\n<p>Comece instalando o XAMPP, ent\u00e3o execute uma verifica\u00e7\u00e3o r\u00e1pida para ver se o arquivo <strong>php_xdebug.dll<\/strong> (Windows) ou <strong>xdebug.so<\/strong> file (macOS) existe em seu sistema:<\/p>\n<figure id=\"attachment_133038\" aria-describedby=\"caption-attachment-133038\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133038 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/test-xampp-file-terminal.png\" alt=\"Uma janela terminal mostrando um teste para um arquivo XAMPP.\" width=\"1000\" height=\"353\"><figcaption id=\"caption-attachment-133038\" class=\"wp-caption-text\">Uma janela terminal mostrando um teste para um arquivo XAMPP.<\/figcaption><\/figure>\n<p>Se o arquivo existir, voc\u00ea pode passar para a configura\u00e7\u00e3o. Caso contr\u00e1rio, voc\u00ea precisar\u00e1 primeiro <a href=\"https:\/\/xdebug.org\/download\">baixar ou o bin\u00e1rio certo<\/a> para Windows &#8211; um arquivo de 64 bits para sua vers\u00e3o preferida do PHP &#8211; ou instalar mais algumas depend\u00eancias se voc\u00ea estiver em um Mac.<\/p>\n<p>Para Windows, renomeie o arquivo DLL <strong>php_xdebug.dll<\/strong>, ent\u00e3o mova-o para o caminho do arquivo <strong>xamppphpext<\/strong>. Em seguida, abra o arquivo <strong>xamppphpphp.ini<\/strong> no <a href=\"https:\/\/kinsta.com\/pt\/blog\/melhores-editores-texto\/\">editor de c\u00f3digo de sua prefer\u00eancia<\/a> e adicione o seguinte:<\/p>\n<pre><code class=\"language-bash\">output_buffering = Off<\/code><\/pre>\n<p>Na se\u00e7\u00e3o <code>[XDebug]<\/code>, adicione \u00e0s pr\u00f3ximas tr\u00eas linhas:<\/p>\n<pre><code class=\"language-bash\">zend_extension=xdebug\nxdebug.mode=debug\nxdebug.start_with_request=trigger<\/code><\/pre>\n<p>Assim que voc\u00ea salvar suas mudan\u00e7as, reinicie o Apache e teste para Xdebug.<\/p>\n<p><a href=\"https:\/\/stevegeorge.net\/2022\/02\/11\/installing-xdebug-for-xampp-on-mac\/\" target=\"_blank\" rel=\"noopener noreferrer\">Para Mac<\/a>, voc\u00ea vai querer garantir que voc\u00ea instale \u00e0s ferramentas de linha de comando <a href=\"https:\/\/developer.apple.com\/xcode\/\" target=\"_blank\" rel=\"noopener noreferrer\">Xcode<\/a> usando <code class=\"language-bash\">xcode-select --install<\/code> em uma inst\u00e2ncia do Terminal. Depois disso, h\u00e1 tr\u00eas pacotes que voc\u00ea vai querer instalar usando o Homebrew:<\/p>\n<pre><code class=\"language-bash\">brew install autoconf automake libtool<\/code><\/pre>\n<p>Em alguns casos, voc\u00ea tamb\u00e9m precisar\u00e1 reinstalar o XAMPP para obter tanto o programa principal quanto os &#8220;Arquivos do Desenvolvedor&#8221; Voc\u00ea deve conseguir reinstalar somente estes arquivos, mas voc\u00ea vai querer realizar um backup da sua configura\u00e7\u00e3o existente primeiro.<\/p>\n<p>Em seguida, navegue para o download da pasta de fontes Xdebug em seu sistema e descompacte o arquivo TGZ. Dentro de uma janela do Terminal, navegue at\u00e9 aquele diret\u00f3rio e execute o seguinte:<\/p>\n<pre><code class=\"language-bash\">phpize\npecl install xdebug<\/code><\/pre>\n<p>Note que voc\u00ea pode precisar usar <code>sudo<\/code> aqui tamb\u00e9m. Daqui, voc\u00ea pode editar o arquivo php.ini do XAMPP. Para a maioria das instala\u00e7\u00f5es macOS, voc\u00ea o encontrar\u00e1 em <strong>\/Applications\/XAMPP\/xamppfiles\/etc\/php.ini<\/strong>. Dentro deste diret\u00f3rio, voc\u00ea tamb\u00e9m encontrar\u00e1 o caminho para o seu arquivo <strong>xdebug.so<\/strong> &#8211; anote isto e use-o no lugar do espa\u00e7o reservado ao caminho do arquivo para este snippet:<\/p>\n<pre><code class=\"language-bash\">[xdebug]\nzend_extension=\/path\/to\/xdebug.so\nxdebug.mode=develop,degug\nxdebug.start_with_request=yes<\/code><\/pre>\n<p>Para testar se isso funciona, crie um novo arquivo <strong>xdebug_info.php<\/strong> no diret\u00f3rio principal do <strong>htdocs<\/strong> XAMPP. Dentro, adicione o seguinte:<\/p>\n<pre><code class=\"language-bash\">&lt;?php\nxdebug_info();<\/code><\/pre>\n<p>&#8230;depois atualize o Apache e teste o Xdebug no navegador.<\/p>\n<h2>Usando PhpStorm com Xdebug<\/h2>\n<p>Assim que voc\u00ea instalar o Xdebug atrav\u00e9s do sistema operacional e seu ambiente de desenvolvimento, voc\u00ea tamb\u00e9m precisar\u00e1 visualizar o depurador em si. Voc\u00ea far\u00e1 isso atrav\u00e9s do seu editor de c\u00f3digo escolhido ou <a href=\"https:\/\/kinsta.com\/pt\/blog\/php-editor\/\" target=\"_blank\" rel=\"noopener noreferrer\">ambiente de desenvolvimento integrado (IDE)<\/a>. Como no seu ambiente, h\u00e1 tantos para escolher, e cada um pode ter uma abordagem diferente.<\/p>\n<p>Dito isto, muitos desenvolvedores optam por usar <a href=\"https:\/\/www.jetbrains.com\/phpstorm\/\" target=\"_blank\" rel=\"noopener noreferrer\">o PhpStorm da JetBrains<\/a>. Na verdade, o PhpStorm oferece <a href=\"https:\/\/www.jetbrains.com\/help\/phpstorm\/preparing-to-use-wordpress.html\">&#8220;assist\u00eancia WordPress-aware&#8221;<\/a> &#8211; e \u00e9 uma escolha popular por muitas outras raz\u00f5es, tamb\u00e9m.<\/p>\n<figure id=\"attachment_133032\" aria-describedby=\"caption-attachment-133032\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133032 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/php-storm.png\" alt=\"A interface PhpStorm\" width=\"1000\" height=\"625\"><figcaption id=\"caption-attachment-133032\" class=\"wp-caption-text\">A interface PhpStorm<\/figcaption><\/figure>\n<p>O <a href=\"https:\/\/www.jetbrains.com\/help\/phpstorm\/configuring-xdebug.html\">site JetBrains<\/a> inclui instru\u00e7\u00f5es completas sobre como conectar Xdebug e PhpStorm, mas iremos revis\u00e1-las aqui.<\/p>\n<p>Primeiro, navegue at\u00e9 a p\u00e1gina <strong>Languages &#038; Frameworks &gt; PHP<\/strong> no painel de <strong>Preferences<\/strong>. Aqui, abra o menu <strong>More Items<\/strong>\u00a0do kebab ao lado do campo suspenso <strong>CLI Interpreter<\/strong>:<\/p>\n<figure id=\"attachment_133021\" aria-describedby=\"caption-attachment-133021\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133021 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/cli-interpreter.png\" alt=\"Selecionando um int\u00e9rprete CLI no PhpStorm\" width=\"1000\" height=\"330\"><figcaption id=\"caption-attachment-133021\" class=\"wp-caption-text\">Selecionando um int\u00e9rprete CLI no PhpStorm<\/figcaption><\/figure>\n<p>Isto mostrar\u00e1 mais alguns detalhes sobre sua vers\u00e3o PHP e int\u00e9rprete. Se voc\u00ea clicar na elipse <strong>Mais itens<\/strong> ao lado da op\u00e7\u00e3o <strong>Configuration file<\/strong>, voc\u00ea ver\u00e1 os caminhos completos para o seu arquivo <strong>php.ini<\/strong>:<\/p>\n<figure id=\"attachment_133022\" aria-describedby=\"caption-attachment-133022\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133022 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/configuration-file.png\" alt=\"Alterando a configura\u00e7\u00e3o PHP no PhpStorm\" width=\"1000\" height=\"271\"><figcaption id=\"caption-attachment-133022\" class=\"wp-caption-text\">Alterando a configura\u00e7\u00e3o PHP no PhpStorm<\/figcaption><\/figure>\n<p>Voc\u00ea estar\u00e1 trabalhando com este arquivo PHP ao lado para continuar o processo de configura\u00e7\u00e3o.<\/p>\n<h4>Trabalhando no arquivo php.ini<\/h4>\n<p>A primeira tarefa aqui \u00e9 editar qualquer linha que tenha impacto em como o Xdebug ir\u00e1 trabalhar com o PhpStorm.<\/p>\n<p>Dentro do arquivo <strong>php.ini<\/strong>, encontre as seguintes linhas e apague ou comente-as:<\/p>\n<pre><code class=\"language-bash\">zend_extension=&lt;path_to_zend_debugger&gt;\nzend_extension=&lt;path_to_zend_optimizer&gt;<\/code><\/pre>\n<p>Estas linhas n\u00e3o estar\u00e3o presentes em todos os casos, ent\u00e3o n\u00e3o se assuste caso voc\u00ea n\u00e3o estiver vendo.<\/p>\n<p>A seguir, adicione o seguinte ao arquivo:<\/p>\n<pre><code class=\"language-bash\">[xdebug]\nzend_extension=\"xdebug.so\"\nxdebug.mode=debug\nxdebug.client_host=127.0.0.1\nxdebug.client_port=\"&lt;the port (9003 by default) to which Xdebug connects&gt;\"<\/code><\/pre>\n<p>H\u00e1 algumas coisas a se notar sobre este conjunto de c\u00f3digos:<\/p>\n<ul>\n<li>Voc\u00ea j\u00e1 pode ter uma se\u00e7\u00e3o <code>[xdebug]<\/code>, neste caso voc\u00ea pode omitir a primeira designa\u00e7\u00e3o.<\/li>\n<li>A entrada <code>zend_extension<\/code> pode precisar que voc\u00ea adicione o caminho completo do <strong>xdebug.so<\/strong> para se conectar.<\/li>\n<li>Embora possa parecer um espa\u00e7o reservado, o par\u00e2metro <code>xdebug.client_port<\/code> \u00e9 como voc\u00ea ir\u00e1 configur\u00e1-lo dentro do seu c\u00f3digo.<\/li>\n<\/ul>\n<p>Uma vez que voc\u00ea adicione estes, salve e feche o arquivo, ent\u00e3o teste a vers\u00e3o PHP a partir da linha de comando (usando <code>php --version<\/code>):<\/p>\n<figure id=\"attachment_133037\" aria-describedby=\"caption-attachment-133037\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133037 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/terminal-xdebug-php-version.png\" alt=\"Teste para as instala\u00e7\u00f5es atuais para PHP e Xdebug usando o Terminal macOS.\" width=\"1000\" height=\"416\"><figcaption id=\"caption-attachment-133037\" class=\"wp-caption-text\">Teste para as instala\u00e7\u00f5es atuais para PHP e Xdebug usando o Terminal macOS.<\/figcaption><\/figure>\n<p>Se voc\u00ea tiver uma vers\u00e3o funcional do Xdebug, ela aparecer\u00e1 como uma das extens\u00f5es do PHP. Voc\u00ea tamb\u00e9m pode adicionar <code>phpinfo();<\/code> a um novo arquivo e testar isso no navegador.<\/p>\n<p>Isso \u00e9 tudo que voc\u00ea precisa fazer para ter o Xdebug funcionando como seu depurador padr\u00e3o com o PhpStorm. O passo final antes de us\u00e1-lo \u00e9 instalar uma extens\u00e3o de ajuda do navegador.<\/p>\n<h4>Instalando uma extens\u00e3o de ajuda do navegador<\/h4>\n<p>A conex\u00e3o chave final que voc\u00ea precisar\u00e1 fazer \u00e9 entre seu navegador e PhpStorm, realizada ativando a depura\u00e7\u00e3o passo a passo no servidor. Enquanto voc\u00ea poderia fazer isso <a href=\"https:\/\/xdebug.org\/docs\/step_debug#starting\">a partir da linha de comando<\/a> usando valores especiais <code>GET<\/code> ou <code>POST<\/code>, \u00e9 mais simples usar uma extens\u00e3o.<\/p>\n<p>Recomendamos a utiliza\u00e7\u00e3o da extens\u00e3o dedicada do Xdebug Helper. Voc\u00ea pode instal\u00e1-la no seu navegador de sua escolha:<\/p>\n<ul>\n<li><a href=\"https:\/\/chrome.google.com\/webstore\/detail\/xdebug-helper\/eadndfjplgieldjbigjakmdgkmoaaaoc\">Xdebug Helper para Chrome\/Cromium\/Brave<\/a><\/li>\n<li><a href=\"https:\/\/addons.mozilla.org\/en-GB\/firefox\/addon\/xdebug-helper-for-firefox\/\" target=\"_blank\" rel=\"noopener noreferrer\">Xdebug Helper para Firefox<\/a><\/li>\n<\/ul>\n<p>Se voc\u00ea quiser explorar outras extens\u00f5es, o <a href=\"https:\/\/www.jetbrains.com\/help\/phpstorm\/browser-debugging-extensions.html\">site JetBrains<\/a> oferece algumas op\u00e7\u00f5es adicionais para os navegadores mais populares.<\/p>\n<p>Uma vez instalada a extens\u00e3o do seu navegador escolhido, voc\u00ea n\u00e3o deve ter que ajustar nenhuma outra configura\u00e7\u00e3o. A partir daqui, voc\u00ea pode come\u00e7ar a usar o Xdebug com o PhpStorm.<\/p>\n<h3>Usando o Xdebug<\/h3>\n<p>Enquanto usaremos PhpStorm aqui, voc\u00ea ver\u00e1 um layout similar e uma interface entre diferentes IDEs &#8211; embora tamb\u00e9m haja algumas diferen\u00e7as \u00f3bvias.<\/p>\n<p>H\u00e1 alguns conceitos que se combinam para formar toda a experi\u00eancia de depura\u00e7\u00e3o:<\/p>\n<ul>\n<li><strong>Breakpoints:<\/strong> Estes s\u00e3o os pontos em que Xdebug vai parar a fim de permitir que voc\u00ea inspecione a sa\u00edda. Voc\u00ea pode definir quantos voc\u00ea quiser.<\/li>\n<li><strong>Ouvindo as conex\u00f5es:<\/strong> Voc\u00ea pode ligar e desligar isso, embora a maioria dos desenvolvedores sempre deixe ligado.<\/li>\n<li><strong>A tela de depura\u00e7\u00e3o:<\/strong> A maior parte do seu tempo ser\u00e1 gasto na interface de depura\u00e7\u00e3o &#8211; \u00e9 onde voc\u00ea trabalhar\u00e1 com \u00e0s v\u00e1rias linhas de c\u00f3digo, vari\u00e1veis e par\u00e2metros.<\/li>\n<\/ul>\n<p>O primeiro passo \u00e9 ativar a escuta &#8211; voc\u00ea n\u00e3o conseguir\u00e1 depurar nada sem ela. Para fazer isso, clique na op\u00e7\u00e3o <strong>Run &gt; Start Listening for PHP Debug Connections<\/strong> na barra de ferramentas:<\/p>\n<figure id=\"attachment_133034\" aria-describedby=\"caption-attachment-133034\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133034 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/phpstorm-run-menu.png\" alt=\"O menu Run aberto dentro do PhpStorm\" width=\"1000\" height=\"479\"><figcaption id=\"caption-attachment-133034\" class=\"wp-caption-text\">O menu Run aberto dentro do PhpStorm<\/figcaption><\/figure>\n<p>Como alternativa, voc\u00ea pode clicar no \u00edcone &#8220;telefone&#8221; na barra de ferramentas do PhpStorm:<\/p>\n<figure id=\"attachment_133033\" aria-describedby=\"caption-attachment-133033\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133033 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/phpstorm-bug-toolbar.png\" alt=\"Ouvir as conex\u00f5es de depura\u00e7\u00e3o PHP usando o \u00edcone do telefone na barra de ferramentas PhpStorm\" width=\"1000\" height=\"322\"><figcaption id=\"caption-attachment-133033\" class=\"wp-caption-text\">Ouvir as conex\u00f5es de depura\u00e7\u00e3o PHP usando o \u00edcone do telefone na barra de ferramentas PhpStorm<\/figcaption><\/figure>\n<p>Qualquer uma destas op\u00e7\u00f5es iniciar\u00e1 a escuta para conex\u00f5es.<\/p>\n<p>A partir daqui, voc\u00ea pode come\u00e7ar a definir breakpoints no editor de c\u00f3digo. Um ponto vermelho indica um breakpoint, que voc\u00ea pode clicar para ativar:<\/p>\n<figure id=\"attachment_133020\" aria-describedby=\"caption-attachment-133020\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133020 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/add-breakpoints.png\" alt=\"Breakpoints em uma p\u00e1gina de edi\u00e7\u00e3o do PhpStorm.\" width=\"1000\" height=\"661\"><figcaption id=\"caption-attachment-133020\" class=\"wp-caption-text\">Breakpoints em uma p\u00e1gina de edi\u00e7\u00e3o do PhpStorm.<\/figcaption><\/figure>\n<p>Quando voc\u00ea quiser depurar seu c\u00f3digo, a maneira mais direta \u00e9 come\u00e7ar a ouvir, definir pontos de interrup\u00e7\u00e3o e depois ir para a p\u00e1gina espec\u00edfica em seu navegador. Localize o \u00edcone para sua extens\u00e3o no navegador, ent\u00e3o clique nele e selecione a op\u00e7\u00e3o &#8220;Debug&#8221;:<\/p>\n<figure id=\"attachment_133035\" aria-describedby=\"caption-attachment-133035\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133035 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/select-debug-browser.png\" alt=\"Selecionando a op\u00e7\u00e3o Debug na barra de ferramentas do navegador usando uma extens\u00e3o dedicada.\" width=\"1000\" height=\"317\"><figcaption id=\"caption-attachment-133035\" class=\"wp-caption-text\">Selecionando a op\u00e7\u00e3o Debug na barra de ferramentas do navegador usando uma extens\u00e3o dedicada.<\/figcaption><\/figure>\n<p>Isto abrir\u00e1 o depurador no PhpStorm e dar\u00e1 \u00e0s boas ou m\u00e1s not\u00edcias:<\/p>\n<figure id=\"attachment_133024\" aria-describedby=\"caption-attachment-133024\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133024 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/debugger-output.png\" alt=\"Usando o depurador PhpStorm com Xdebug.\" width=\"1000\" height=\"509\"><figcaption id=\"caption-attachment-133024\" class=\"wp-caption-text\">Usando o depurador PhpStorm com Xdebug.<\/figcaption><\/figure>\n<p>Se voc\u00ea clicar com o bot\u00e3o direito do mouse nos v\u00e1rios valores, atributos, par\u00e2metros e vari\u00e1veis, voc\u00ea conseguir\u00e1 acessar um menu de contexto adicional. Isto lhe d\u00e1 bastante escopo extra para testar e depurar seu c\u00f3digo:<\/p>\n<figure id=\"attachment_133023\" aria-describedby=\"caption-attachment-133023\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133023 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/context-menu-debugger.png\" alt=\"Usando o menu de contexto com o bot\u00e3o direito do mouse no depurador PhpStorm Debugger para definir novos valores.\" width=\"1000\" height=\"585\"><figcaption id=\"caption-attachment-133023\" class=\"wp-caption-text\">Usando o menu de contexto com o bot\u00e3o direito do mouse no depurador PhpStorm Debugger para definir novos valores.<\/figcaption><\/figure>\n<p>Por exemplo, voc\u00ea poderia definir valores diferentes para vari\u00e1veis ao longo do caminho. Isto pode ser uma tentativa deliberada de quebrar seu c\u00f3digo e ver o que acontece, ou pode ser uma maneira de testar o c\u00f3digo que j\u00e1 precisa de uma corre\u00e7\u00e3o. De qualquer forma, isto lhe d\u00e1 um m\u00e9todo fant\u00e1stico para depurar seu c\u00f3digo sem ter que alter\u00e1-lo primeiro.<\/p>\n<h2>Como a Kinsta ajuda voc\u00ea a depurar seu site WordPress<\/h2>\n<p>O WordPress vem com seu pr\u00f3prio <a href=\"https:\/\/kinsta.com\/pt\/docs\/hospedagem-de-wordpress\/solucao-de-problemas-wordpress\/depuracao-wordpress\/\" target=\"_blank\" rel=\"noopener noreferrer\">conjunto de op\u00e7\u00f5es de depura\u00e7\u00e3o<\/a> atrav\u00e9s do <code>WP_DEBUG<\/code> e outras ferramentas, como o <a href=\"https:\/\/kinsta.com\/pt\/blog\/query-monitor\/\" target=\"_blank\" rel=\"noopener noreferrer\">Query Monitor<\/a>. Estas permitem um modo no qual voc\u00ea come\u00e7ar\u00e1 a ver mensagens de erro previamente ocultas em todo o seu site e painel de controle. A partir da\u00ed, voc\u00ea pode come\u00e7ar a descobrir qual \u00e9 o problema.<\/p>\n<p>Voc\u00ea tamb\u00e9m pode salvar essas mensagens de erro usando <code>WP_DEBUG_LOG<\/code>, o que lhe d\u00e1 uma maneira de documentar os problemas com o seu site. Cobrimos como configurar isso em <a href=\"https:\/\/kinsta.com\/pt\/blog\/wordpress-debug\/\" target=\"_blank\" rel=\"noopener noreferrer\">outro artigo no blog<\/a>. Isto \u00e9 muito f\u00e1cil para configurar atrav\u00e9s do seu <a href=\"https:\/\/my.kinsta.com\/?lang=pt\" target=\"_blank\" rel=\"noopener noreferrer\">painel MyKinsta<\/a> (e da tela <strong>Sites &gt; Ferramentas<\/strong> ):<\/p>\n<figure id=\"attachment_133029\" aria-describedby=\"caption-attachment-133029\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133029 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/kinsta-dashboard-debug.png\" alt=\"A op\u00e7\u00e3o de depura\u00e7\u00e3o de WordPress no painel MyKinsta\" width=\"1000\" height=\"220\"><figcaption id=\"caption-attachment-133029\" class=\"wp-caption-text\">A op\u00e7\u00e3o de depura\u00e7\u00e3o de WordPress no painel MyKinsta<\/figcaption><\/figure>\n<p>Se voc\u00ea emparelhar isto com a <a href=\"https:\/\/kinsta.com\/pt\/devkinsta\/caracteristicas\/\" target=\"_blank\" rel=\"noopener noreferrer\">ferramenta gratuita de ambiente local DevKinsta<\/a>, voc\u00ea tamb\u00e9m ter\u00e1 uma maneira de <a href=\"https:\/\/kinsta.com\/docs\/devkinsta\/logging\/\" target=\"_blank\" rel=\"noopener noreferrer\">habilitar e desabilitar<\/a> <code>WP_DEBUG<\/code> para cada site que voc\u00ea rodar:<\/p>\n<figure id=\"attachment_133025\" aria-describedby=\"caption-attachment-133025\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133025 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/devkinsta-debug.png\" alt=\"Habilita\u00e7\u00e3o do WP_DEBUG no painel de controle do DevKinsta\" width=\"1000\" height=\"513\"><figcaption id=\"caption-attachment-133025\" class=\"wp-caption-text\">Habilita\u00e7\u00e3o do WP_DEBUG no painel de controle do DevKinsta<\/figcaption><\/figure>\n<p>Isto significa que voc\u00ea pode pegar erros em seu site durante o desenvolvimento, e certifique-se de que eles n\u00e3o cheguem ao seu site de produ\u00e7\u00e3o. Estes modos tamb\u00e9m s\u00e3o f\u00e1ceis de desativar &#8211; vitais tanto para a <a href=\"https:\/\/kinsta.com\/pt\/blog\/plugins-de-seguranca-wordpress\/\" target=\"_blank\" rel=\"noopener noreferrer\">seguran\u00e7a do site quanto para a seguran\u00e7a do usu\u00e1rio<\/a>.<\/p>\n<p>Todos os planos Kinsta tamb\u00e9m v\u00eam com a <a href=\"https:\/\/kinsta.com\/pt\/ferramenta-apm\/\">ferramenta incorporada Kinsta APM<\/a>, sendo nossa ferramenta de monitoramento de desempenho projetada sob medida para sites WordPress.<\/p>\n<p><kinsta-video src=\"https:\/\/kinsta.wistia.com\/medias\/x4he5rs7av\"><\/kinsta-video><\/p>\n<h2>Lista de comandos<\/h2>\n<p>Antes de encerrarmos este artigo, devemos mencionar os atalhos.<\/p>\n<p>Como muitas outras pe\u00e7as de software, h\u00e1 v\u00e1rias maneiras de navegar pelo Xdebug (e PhpStorm) usando apenas o teclado. Na verdade, voc\u00ea poderia at\u00e9 usar a linha de comando para depurar scripts PHP.<\/p>\n<p>Uma vez que o Xdebug esteja pronto e funcionando, voc\u00ea pode usar os seguintes comandos para se orientar:<\/p>\n<div class=\"responsive-table\">\n<table>\n<thead>\n<tr>\n<th>Comando<\/th>\n<th>Atalho<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Espec\u00edfica a porta para ouvir (por exemplo, <code>[9003]<\/code>)<\/td>\n<td><code>-p [value]<\/code><\/td>\n<\/tr>\n<tr>\n<td>Define um breakpoint na linha especificada para o caminho do arquivo dado.<\/td>\n<td><code>breakpoint_set -t line file:\/\/\/&lt;path&gt; -n &lt;line&gt;<\/code><\/td>\n<\/tr>\n<tr>\n<td>Executa seu script at\u00e9 o fim, ou at\u00e9 o pr\u00f3ximo breakpoint<\/td>\n<td><code>run<\/code><\/td>\n<\/tr>\n<tr>\n<td>Passos para a pr\u00f3xima linha execut\u00e1vel<\/td>\n<td><code>step_into<\/code><\/td>\n<\/tr>\n<tr>\n<td>Lista vari\u00e1veis e valores no escopo atual<\/td>\n<td><code>context_get<\/code><\/td>\n<\/tr>\n<tr>\n<td>Exibe o valor da propriedade espec\u00edfica<\/td>\n<td><code>property_get -n &lt;property&gt;<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Enquanto seu editor de c\u00f3digo espec\u00edfico ter\u00e1 seus pr\u00f3prios atalhos dedicados, o foco aqui \u00e9 o PhpStorm. D\u00ea uma olhada nesta tabela de <a href=\"https:\/\/www.jetbrains.com\/help\/phpstorm\/mastering-keyboard-shortcuts.html#learn-shortcuts\">atalhos de teclado<\/a> para usar o Xdebug com PhpStorm:<\/p>\n<div class=\"responsive-table\">\n<table>\n<thead>\n<tr>\n<th>Comando<\/th>\n<th>Windows<\/th>\n<th>macOS<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Encontre uma a\u00e7\u00e3o<\/td>\n<td><strong>Ctrl<\/strong> + <strong>Shift<\/strong> + <strong>A<\/strong><\/td>\n<td><strong>Shift<\/strong> + <strong>Cmd<\/strong> + <strong>A<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Abra o Debugger<\/td>\n<td><strong>Shift<\/strong> + <strong>F9<\/strong><\/td>\n<td><strong>Ctrl<\/strong> + <strong>D<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Alternar o breakpoint<\/td>\n<td><strong>Controle<\/strong> + <strong>F8<\/strong><\/td>\n<td><strong>Cmd<\/strong> + <strong>F8<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Step Into<\/td>\n<td><strong>F7<\/strong><\/td>\n<td><strong>F7<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Step Over<\/td>\n<td><strong>F8<\/strong><\/td>\n<td><strong>F8<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Visualizar o breakpoint<\/td>\n<td><strong>Ctrl<\/strong> + <strong>Shift<\/strong> + <strong>F8<\/strong><\/td>\n<td><strong>Shift<\/strong> + <strong>Cmd<\/strong> + <strong>F8<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Retomar o Programa<\/td>\n<td><strong>F9<\/strong><\/td>\n<td><strong>F9<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Avalie a Express\u00e3o da Corrente<\/td>\n<td><strong>Alt<\/strong> + <strong>F8<\/strong><\/td>\n<td><strong>Op\u00e7\u00e3o<\/strong> + <strong>F8<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Felizmente, n\u00e3o h\u00e1 muito o que memorizar aqui. Voc\u00ea deve abrir o depurador, definir breakpoints por linha, ouvir \u00e0s conex\u00f5es e executar seus scripts.<\/p>\n<p>Entretanto, se voc\u00ea precisar de um atalho para uma determinada tarefa, voc\u00ea pode usar o comando PhpStorm <strong>Find Action<\/strong>:<\/p>\n<figure id=\"attachment_133026\" aria-describedby=\"caption-attachment-133026\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133026 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/find-action-bar.png\" alt=\"Usando o menu Find Action dentro do PhpStorm\" width=\"1000\" height=\"470\"><figcaption id=\"caption-attachment-133026\" class=\"wp-caption-text\">Usando o menu Find Action dentro do PhpStorm<\/figcaption><\/figure>\n<p>Quando voc\u00ea come\u00e7ar a digitar neste espa\u00e7o, ser\u00e1 mostrada a voc\u00ea uma lista din\u00e2mica de comandos e atalhos relacionados. Voc\u00ea tamb\u00e9m pode encontrar uma vers\u00e3o PDF de todos os atalhos de teclado atrav\u00e9s do menu <strong>Help &gt; Keyboard Shortcuts PDF<\/strong>.<\/p>\n<p>Se voc\u00ea quiser dar mais uma olhada em tempo real nos atalhos enquanto trabalha com o mouse, a JetBrains fornece o plugin <a href=\"https:\/\/plugins.jetbrains.com\/plugin\/9792-key-promoter-x\">Key Promoter X<\/a>:<\/p>\n<figure id=\"attachment_133028\" aria-describedby=\"caption-attachment-133028\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-133028 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/09\/key-promoter-x.png\" alt=\"A interface PhpStorm mostrando as notifica\u00e7\u00f5es do Key Promoter X.\" width=\"1000\" height=\"463\"><figcaption id=\"caption-attachment-133028\" class=\"wp-caption-text\">A interface PhpStorm mostrando as notifica\u00e7\u00f5es do Key Promoter X.<\/figcaption><\/figure>\n<p>Esta \u00fatil ferramenta exibir\u00e1 notifica\u00e7\u00f5es da sua \u00faltima a\u00e7\u00e3o executada, com seu atalho de teclado relacionado. Assim que voc\u00ea aprender e usar os atalhos, voc\u00ea pode desconectar este plugin e restaurar aquela propriedade valioso para \u00c1 sua tela.<\/p>\n\n<h2>Resumo<\/h2>\n<p>A pr\u00e1tica da depura\u00e7\u00e3o (debugging) tem vindo muito longe do seu humilde come\u00e7o; agora abrange um escopo muito mais amplo do que seus progenitores poderiam ter imaginado. Para realizar um trabalho completo quando se trata de corrigir seu c\u00f3digo PHP, voc\u00ea precisar\u00e1 usar uma ferramenta competente. H\u00e1 muitas extens\u00f5es e ferramentas excelentes para escolher, mas <a href=\"https:\/\/xdebug.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Xdebug<\/a> \u00e9 um frontrunner discut\u00edvel.<\/p>\n<p>Como vimos, Xdebug pode se adaptar at\u00e9 mesmo aos gostos mais ecl\u00e9ticos dos editores de c\u00f3digo, e \u00e9 especialmente \u00f3timo quando emparelhado com <a href=\"https:\/\/www.jetbrains.com\/phpstorm\/\" target=\"_blank\" rel=\"noopener noreferrer\">PhpStorm<\/a>. No entanto, independentemente da sua configura\u00e7\u00e3o, muitas vezes haver\u00e1 uma vers\u00e3o do Xdebug para atender \u00e0s suas necessidades. No geral, \u00e9 uma ferramenta poderosa, flex\u00edvel e intuitiva de usar.<\/p>\n<p>Voc\u00ea acha que o Xdebug merece seus altos elogios, ou existe outra ferramenta de depura\u00e7\u00e3o que voc\u00ea prefere? Nos deixe saber na se\u00e7\u00e3o de coment\u00e1rios abaixo!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como qualquer desenvolvedor pode atestar, o c\u00f3digo nunca est\u00e1 pronto para a produ\u00e7\u00e3o ap\u00f3s o primeiro rascunho. Uma parte chave do processo de desenvolvimento \u00e9 a &#8230;<\/p>\n","protected":false},"author":117,"featured_media":54028,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[432,263,44,30,851],"topic":[1018],"class_list":["post-54027","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-debugging","tag-web-development","tag-webdev","tag-wordpress","tag-xdebug","topic-ferramentas-desenvolvimento-web"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Como Xdebug Pode Ajudar Voc\u00ea a se Tornar um Desenvolvedor WordPress Melhor<\/title>\n<meta name=\"description\" content=\"A depura\u00e7\u00e3o \u00e9 uma parte essencial do desenvolvimento da web. Este artigo mostra como usar o Xdebug. Vamos ver como integrar o PhpStorm com o Xdebug tamb\u00e9m.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/pt\/blog\/xdebug\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Como Xdebug Pode Ajudar Voc\u00ea a se Tornar um Desenvolvedor WordPress Melhor\" \/>\n<meta property=\"og:description\" content=\"A depura\u00e7\u00e3o \u00e9 uma parte essencial do desenvolvimento da web. Este artigo mostra como usar o Xdebug. Vamos ver como integrar o PhpStorm com o Xdebug tamb\u00e9m.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/pt\/blog\/xdebug\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstapt\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-13T06:55:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-28T14:10:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/10\/xdebug.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Salman Ravoof\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"A depura\u00e7\u00e3o \u00e9 uma parte essencial do desenvolvimento da web. Este artigo mostra como usar o Xdebug. Vamos ver como integrar o PhpStorm com o Xdebug tamb\u00e9m.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/10\/xdebug.png\" \/>\n<meta name=\"twitter:creator\" content=\"@salmanravoof\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Salman Ravoof\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"21 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/xdebug\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/xdebug\/\"},\"author\":{\"name\":\"Salman Ravoof\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/9cafd2eedd617e640eeea4cf3a5fd987\"},\"headline\":\"Como Xdebug Pode Ajudar Voc\u00ea a se Tornar um Desenvolvedor WordPress Melhor\",\"datePublished\":\"2022-10-13T06:55:26+00:00\",\"dateModified\":\"2025-02-28T14:10:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/xdebug\/\"},\"wordCount\":4014,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/xdebug\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/10\/xdebug.png\",\"keywords\":[\"debugging\",\"web development\",\"webdev\",\"WordPress\",\"xdebug\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/xdebug\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/xdebug\/\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/xdebug\/\",\"name\":\"Como Xdebug Pode Ajudar Voc\u00ea a se Tornar um Desenvolvedor WordPress Melhor\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/xdebug\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/xdebug\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/10\/xdebug.png\",\"datePublished\":\"2022-10-13T06:55:26+00:00\",\"dateModified\":\"2025-02-28T14:10:28+00:00\",\"description\":\"A depura\u00e7\u00e3o \u00e9 uma parte essencial do desenvolvimento da web. Este artigo mostra como usar o Xdebug. Vamos ver como integrar o PhpStorm com o Xdebug tamb\u00e9m.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/xdebug\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/xdebug\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/xdebug\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/10\/xdebug.png\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/10\/xdebug.png\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/xdebug\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ferramentas de Desenvolvimento Web\",\"item\":\"https:\/\/kinsta.com\/pt\/topicos\/ferramentas-desenvolvimento-web\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Como Xdebug Pode Ajudar Voc\u00ea a se Tornar um Desenvolvedor WordPress Melhor\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/pt\/#website\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstapt\/\",\"https:\/\/x.com\/kinsta_pt\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/9cafd2eedd617e640eeea4cf3a5fd987\",\"name\":\"Salman Ravoof\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0c5885f75cb78473fb7408e5e49ad190?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0c5885f75cb78473fb7408e5e49ad190?s=96&d=mm&r=g\",\"caption\":\"Salman Ravoof\"},\"description\":\"Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.\",\"sameAs\":[\"https:\/\/salmanravoof.com\",\"https:\/\/www.linkedin.com\/in\/salman-ravoof-5a749133\/\",\"https:\/\/x.com\/salmanravoof\"],\"url\":\"https:\/\/kinsta.com\/pt\/blog\/author\/salmanravoof\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Como Xdebug Pode Ajudar Voc\u00ea a se Tornar um Desenvolvedor WordPress Melhor","description":"A depura\u00e7\u00e3o \u00e9 uma parte essencial do desenvolvimento da web. Este artigo mostra como usar o Xdebug. Vamos ver como integrar o PhpStorm com o Xdebug tamb\u00e9m.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/pt\/blog\/xdebug\/","og_locale":"pt_PT","og_type":"article","og_title":"Como Xdebug Pode Ajudar Voc\u00ea a se Tornar um Desenvolvedor WordPress Melhor","og_description":"A depura\u00e7\u00e3o \u00e9 uma parte essencial do desenvolvimento da web. Este artigo mostra como usar o Xdebug. Vamos ver como integrar o PhpStorm com o Xdebug tamb\u00e9m.","og_url":"https:\/\/kinsta.com\/pt\/blog\/xdebug\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstapt\/","article_published_time":"2022-10-13T06:55:26+00:00","article_modified_time":"2025-02-28T14:10:28+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/10\/xdebug.png","type":"image\/png"}],"author":"Salman Ravoof","twitter_card":"summary_large_image","twitter_description":"A depura\u00e7\u00e3o \u00e9 uma parte essencial do desenvolvimento da web. Este artigo mostra como usar o Xdebug. Vamos ver como integrar o PhpStorm com o Xdebug tamb\u00e9m.","twitter_image":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/10\/xdebug.png","twitter_creator":"@salmanravoof","twitter_site":"@kinsta_pt","twitter_misc":{"Escrito por":"Salman Ravoof","Tempo estimado de leitura":"21 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/pt\/blog\/xdebug\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/blog\/xdebug\/"},"author":{"name":"Salman Ravoof","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/9cafd2eedd617e640eeea4cf3a5fd987"},"headline":"Como Xdebug Pode Ajudar Voc\u00ea a se Tornar um Desenvolvedor WordPress Melhor","datePublished":"2022-10-13T06:55:26+00:00","dateModified":"2025-02-28T14:10:28+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/xdebug\/"},"wordCount":4014,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/xdebug\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/10\/xdebug.png","keywords":["debugging","web development","webdev","WordPress","xdebug"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/pt\/blog\/xdebug\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/pt\/blog\/xdebug\/","url":"https:\/\/kinsta.com\/pt\/blog\/xdebug\/","name":"Como Xdebug Pode Ajudar Voc\u00ea a se Tornar um Desenvolvedor WordPress Melhor","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/xdebug\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/xdebug\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/10\/xdebug.png","datePublished":"2022-10-13T06:55:26+00:00","dateModified":"2025-02-28T14:10:28+00:00","description":"A depura\u00e7\u00e3o \u00e9 uma parte essencial do desenvolvimento da web. Este artigo mostra como usar o Xdebug. Vamos ver como integrar o PhpStorm com o Xdebug tamb\u00e9m.","breadcrumb":{"@id":"https:\/\/kinsta.com\/pt\/blog\/xdebug\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/pt\/blog\/xdebug\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/blog\/xdebug\/#primaryimage","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/10\/xdebug.png","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/10\/xdebug.png","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/pt\/blog\/xdebug\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Ferramentas de Desenvolvimento Web","item":"https:\/\/kinsta.com\/pt\/topicos\/ferramentas-desenvolvimento-web\/"},{"@type":"ListItem","position":3,"name":"Como Xdebug Pode Ajudar Voc\u00ea a se Tornar um Desenvolvedor WordPress Melhor"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/pt\/#website","url":"https:\/\/kinsta.com\/pt\/","name":"Kinsta\u00ae","description":"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura","publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/pt\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstapt\/","https:\/\/x.com\/kinsta_pt","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/9cafd2eedd617e640eeea4cf3a5fd987","name":"Salman Ravoof","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0c5885f75cb78473fb7408e5e49ad190?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0c5885f75cb78473fb7408e5e49ad190?s=96&d=mm&r=g","caption":"Salman Ravoof"},"description":"Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.","sameAs":["https:\/\/salmanravoof.com","https:\/\/www.linkedin.com\/in\/salman-ravoof-5a749133\/","https:\/\/x.com\/salmanravoof"],"url":"https:\/\/kinsta.com\/pt\/blog\/author\/salmanravoof\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/54027","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/users\/117"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/comments?post=54027"}],"version-history":[{"count":13,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/54027\/revisions"}],"predecessor-version":[{"id":71306,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/54027\/revisions\/71306"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/54027\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/54027\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/54027\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/54027\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/54027\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/54027\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/54027\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/54027\/translations\/es"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/54027\/translations\/se"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/54027\/translations\/dk"},{"href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/54027\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media\/54028"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media?parent=54027"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/tags?post=54027"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/topic?post=54027"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}