Newsgroup: it.comp.www.php
Titolo: Debug con trace

C'� un modo per fare un trace step-by-step di una estensione Joomla 
scritta in PHP?
Mi sta facendo diventare matto e non capisco cosa abbia di sbagliato, o 
meglio dove sia ci� che di sicuro � sbagliato.
 
Tenete presente che non posso installare o modificare nulla che non sia 
nella zona pubblica del mio server in hosting
 
Grazie

 sia nella zona pubblica del mio server in hosting
 
Direi di no, se vuoi un tracing dell'esecuzione dell'interprete devi 
aver accesso ad esso, sia mod_php o processo esterno.
 
Vedo due opzioni:
1  ci dai pesantemente di debug a botta di print(), questo lo puoi fare 
comunque;
2  riproduci l'errore in locale ed esegui il trace in locale.
 
 
 
Forse Joomla offre qualche meccanismo ulteriore per il debug delle 
proprie estensioni, ma è una terra selvaggia e aspra e dovrai vedertela 
da solo.


La vedo dura, molto dura con entrambe le soluzioni.
Anche escludendo il core di J., ogni estensione si sviluppa su decine di 
file PHP. È già una impresa capire come il processo si evolve da pagina 
a pagina.
 
Però mi sembra strano che non ci sia uno strumento per monitorare un 
programma PHP.
 
Io posso installare in locale uno XAMPP con J e l'estensione, ma poi non 
posso riempire il codice con print().
È dai tempi del GW-BASIC che non lo si fa più :-)
E quindi la domanda potrebbe essere "come lo faccio il trace su uno XAMPP"?
 
C'è almeno qualcosa che prende il codice e lo traduce in un diagramma, o 
almeno la gerarchia delle pagine?

.

Lo so che cosa è XAMPP :-)
Siccome escludevo di poter installare qualcosa sul server in hosting, ho 
pensato poi che molto più banalmente mi posso tirare su io un serverino 
in locale e fare il debug qui, dove in effetti posso installarci quello 
che voglio.
E se non ricordo male da qualche parte dovrei avere un server debian con 
il pinguino che si starà chiedendo che accidenti l'avevo installato a fare.
 
Il tuo secondo suggerimento è quello che avevo in mente.
Visto che lo conosci, come lo vado ad utilizzare?
È un po' che non programmo più (e se non avessi così tanti bachi da 
raccattarli con la paletta, me ne resterei ancora volentieri ai margini).
Però un conto era linkare la chiamata del debug nel codice di una 
applicazione per Win e vederselo girare step-by-step in una applicazione 
a parte.
 
Un conto è in PHP che gira su un server; magari è la stessa cosa, ma non 
ne ho la più pallida idea.
Come lo attivo il debugger?
Mi basta una dritta al volo giusto per orientarmi, poi mi arrangio da 
solo leggendomi la documentazione.
 
Il primo, invece, ho visto che se lo voglio utilizzare con una 
interfaccia grafica lo devo "abbinare" a qualche altra cosa.
In Eclipse che cosa è? Un suo Plugin?
 
Orsù! Rimettiamo in piedi il "kit" per gli insonni!
Poi magari scopro che mi diverto ancora.
 
Grazie e ciao


 Come lo attivo il debugger?
 
Puoi installare l'estensione xdebug. A quel punto hai diversi tool che si 
collegano a una determinata porta.
 
Tra i vari tool ci sono Eclipse (gratis) e Zend Studio (a pagamento).
 
Ma qui mi fermo perche` non ne so molto di piu`. :)
 
Bye.
 

 Come lo attivo il debugger?
 
Il debugger lo installi sul server di sviluppo come estensione php, 
questo è semplice, invece accedere al debugger con i vari tool open 
source non è semplicissimo.
Io alla fine sono ricorso prima a zend studio e poi (quando sono passati 
ad eclipse che detesto) a nusphere phped.
Magari puoi usare le trial e giocare contro il tempo.
 
Peraltro joomla una volta configurato a dovere funziona bene anche con 
il server http integrato ed il debugger preconfigurato.
 
Comunque mi salva una montagna di fegato e lavoro comodo quasi come con 
Delphi (non mi riferisco a delphi4php che fà schifo). Vedi screenshot:
- 
http://www.teebx.com/media/docs/debug-stepbystep.png
 
 
 
-- 
Design for the future, because it will be here sooner than you think.
(C) Eric S. Raymond, from "The Art of Unix Programming"

 solo leggendomi la documentazione.
 
Non l'ho mai visto, ho solo lanciato una ricerca su Google. Dovrai 
leggere la documentazione.
Anzi magari dopo esserti fatto un'idea puoi spiegare tu stesso come 
funziona a futura memoria di chi cerca sul gruppo.

Sono punto a capo.
Non posso installare il debugger in locale perch� non posso installare 
l'estensione in locale in quanto questa ha bisogno di un codice di 
attivazione legato al dominio.
Per giunta avendo bisogno di Iocube non ho pensato che non potrebbe 
girarvi comunque.
 
Con diversi echo disseminati qui e l� ho gi� trovato diversi errori, 
per� questo disgraziato � un cane.
Sento tanto parlare di indiani e pakistani come la nuova eccellenza, mia 
mia suocera � in grado di programmare meglio.
 
Definisce le tabelle in un modo e le richiama in un altro, sbaglia i 
riferimenti delle funzioni, sbaglia il nome dei files, ...
Di tutto e di pi�.
 
Secondo me lavora di copia ed incolla e poi sbaglia a correggere quanto 
ha incollato; ed ho pure il dubbio che usi alcune variabili con diversi 
scopi o per lo meno non capisco perch� le chiami in un modo e le 
utilizzi poi in un contesto differente da quello che il nome suggerirebbe.
 
Il mio problema � che cos� non riesco a capire l'origine del disastro.
Ogni variabile, ogni riferimento sono definiti da qualche altra parte e 
ci sono decine di files.
Non c'� modo di generare una loro gerarchia con un qualche tools gratuito?
 
La cosa che mi sorprende � che l'estensione � usata anche da altri in 
giro per il mondo e a meno che se lo siano corretta pure loro, mi 
stupisco che certi bachi siano ancora presenti.
Non voglio pensare che questo individuo faccia apposta a lasciarceli per 
contare poi sull'assistenza a pagamento.