Volevo scrivere una breve guida alla configurazione di vim per l’uso come client per il debug di un’applicazione PHP. Con Lenny la procedura è semplificata, perché troviamo già qualche pacchetto precompilato 
Dunque, gli strumenti che useremo sono: xdebug, vim, DBGp client.
L’installazione di vim standard su Lenny non è sufficiente per l’uso dei plugin (nel nostro caso DBGp client) e quindi dovremo installare il pacchetto vim-nox:
apt-get install vim-nox
successivamente ci sposteremo nella cartella /usr/share/vim/vim72/ (se vogliamo che il plugin sia attivo per tutti gli utenti di sistema) oppure nella cartella ~/.vim/plugin (se vogliamo attivare il plugin solo per un utente) e scaricheremo il plugin DBGp client e lo installeremo:
cd /usr/share/vim/vim72/
wget http://www.vim.org/scripts/download_script.php?src_id=7285 -O debugger.zip
unzip debugger.zip
Fatto questo, occorre installare/configurare xdebug su PHP. Provvediamo ad installarlo con:
apt-get install php5-xdebug
e poi a configurarlo, modificado il file di configurazione /etc/php5/conf.d/xdebug.ini inserendo:
xdebug.remote_enable = 1
xdebug.remote_port = 9000
xdebug.remote_host = localhost
riavviamo poi chiaramente apache con:
/etc/init.d/apache2 restart
Ora, per attivare xdebug, dovremo richiamare con il browser il nostro sito, seguito da /?XDEBUG_SESSION_START=1 (es www.pippo.xxx/?XDEBUG_SESSION_START=1). In questo modo verrà caricato un cookie nel browser (con scadenza di un’ora) che automaticamente attiverà xdebug per le prossime pagine che richiameremo.
Bene, siamo pronti. ora lanciamo vim senza nessun file, digitando:
vim
premiamo il tasto funzione F5 ed entro 5 secondi richiamiamo con il browser la pagina PHP di cui vogliamo fare il debug.
Nota: se si vuole aumentare il tempo entro cui si può richiamare la pagina (che di default è 5), basta aprire il file /usr/share/vim/vim72/plugin/debugger.py e sostituire 5 con il numero di secondi desiderati nelle chiamate: socket.setdefaulttimeout(5) e serv.listen(5)
Alcune informazioni utili:
In modalità debugging, i tasti servono a:
<F1> : ridimensiona le finestre
<F2> : step into
<F3> : step over
<F4> : step out
<F6> : stop debugging
<F11> : mostra tutte le variabili
<F12> : mostra il contenuto della variabile su cui si trova il cursore
,e : valuta un’espressione e mostra il risultato. il cursore viene automaticamente spostato nella watch window. scrivi l’espressione e premi il tasto “invio”.
comandi command line
:Bp : toggle breakpoint on current line
:Up : goto upper level of stack
n : goto lower level of stack
Per impostare un breakpoint:
Attivare il debugger in vim (tasto <F5>) e poi aprire il file in cui ci interessa inserire il brekpoint con:
:e nomefile
scorrere fino alla riga desiderata e digitare:
:Bp
Premere poi <F4> per avviare lo script finché non viene raggiunto il breckpoint.
enjoy