josedasilva @ 22:19

Dom, 07/12/08

Todas as linguagens dispõem de várias formas de efectuar debug de código, o PHP não foge a regra. Ao longo dos últimos 10 anos, que dediquei ao PHP, experimentei algumas técnicas, algumas com muito bons resultados outras nem por isso. 

Validar a syntax

Antes de qualquer acto, deverá ser efectuada uma validação da conformidade da syntax do código, isto se não queremos ficar com o resultado do desenvolvimento cheio de erros "Syntax Error".  Muitos editores fazem esta validação, de modo visual, no entanto eu sugiro que o PHP CLI (Command Line Interface) seja corrido.

 

Exemplo: php -l file.php

 

Analise dos logs enquanto se desenvolve

Um dos erros muito comuns no desenvolvimento em qualquer linguagem interpretada é não usarmos a totalidade das vantagens da análise de logs. No PHP para um uso mais eficiente do relatório de erros e avisos, a propriedade error_reporting, no ficheiro php.ini, deverá ser definida como E_ALL.

 

error_reporting  =  E_ALL

 

Para um desenvolvimento mais efectivo, desligo sempre a visualização de erros no "screen", preferindo a análise dos mesmos no ficheiro de log. Para isso defino o display_errors como desligado.

 

display_errors = Off

 

Necessitamos ainda, de indicar ao PHP para efectuar o log dos erros para um ficheiro e indicar qual o caminho para o ficheiro onde desejamos gravar as mensagens de erro.

 

log_errors = On ; Desejamos gravar as mensagens em ficheiro

error_log = "/var/logs/php.log" ; Caminho para o ficheiro onde desejamos gravar as mensagens

 

Depois basta abrir uma consola onde estou a monitorizar toda a actividade do ficheiro de log do php.

 

tail -f /var/logs/php.log

Xdebug

A extensão XDebug para PHP permite efectuar profilling e debugging de uma forma muito simples, com funções como xdebug_memory_usage( ), que nos permite analisar o uso da memória do script currente, que também tem correspondente na versão nativa do php, memory_get_usage(), a função xdebug_call_class(), que permite saber em que class foi o método invocado, entre muitas outras.

 

A extensão XDebug proporciona uma melhoria na visualização de mensagens de erro, podendo-se observar o caminho de execução do script até ao momento em que aconteceu o erro, por exemplo.

 

Mais informações sobre a extensão na página da mesma.

 



Sweepstakes @ 12:16

Qua, 17/02/10

 

There are many debugging tools , it can be useful to use an IDE with a debugger .

Website Marketing @ 08:18

Qua, 24/02/10

 

Nice information about debugging Thanx


De
( )Anónimo- este blog não permite a publicação de comentários anónimos.
(moderado)
Ainda não tem um Blog no SAPO? Crie já um. É grátis.

Comentário

Máximo de 4300 caracteres



Copiar caracteres

 



Blog pessoal de José Silva. Sou programador informático, nos últimos anos dedicado quase exclusivamente ao PHP.
Dezembro 2008
Dom
Seg
Ter
Qua
Qui
Sex
Sab

1
2
3
4
5
6

7
8
9
10
11
12
13

14
15
16
17
18
19
20

21
22
23
24
25
26
27

28
29
30
31


Pesquisar
 
subscrever feeds
blogs SAPO