Magari qui già tutti la conoscevano, ma preferisco rischiare di fare una
brutta figura che lasciare qualcuno a faticare con il debugging a colpi
di puts o logger.debug. Vi racconto allora che ho appena scoperto
ruby-debug, una bellissima gemma che permette di riavere finalmente un
debugger per i ruby post 1.8.4.
Una volta installata basta fare una require “ruby-debug” (magari in
environments/development.rb) e poi l’interprete si fermerà in
corrispondenza di ogni metodo debugger che incontrerà nei sorgenti. A
quel punto mostrerà una console tipo gdb in cui poter fare inspect di
tutto quel che serve. Sto già gioendo al pensiero di quanti logger.debug
avrò in meno nei miei file
Una volta installata basta fare una require “ruby-debug” (magari in
environments/development.rb) e poi l’interprete si fermerà in
corrispondenza di ogni metodo debugger che incontrerà nei sorgenti. A
quel punto mostrerà una console tipo gdb in cui poter fare inspect di
tutto quel che serve. Sto già gioendo al pensiero di quanti logger.debug
avrò in meno nei miei file
Puoi anche attivare il debugger usando la seguente riga di avvio:
./script/server --debugger
Ciao
–
FEj
“Go and spread the free software. Happy hacking!” - RMS
Chi usa IDE grafiche magari potrà suggerire strumenti più comodi.
Netbeans (http://www.netbeans.org) ha una buona integrazione con ruby-
debug, e si può lanciare anche i applicazioni Rails nel modo debug. E
ancora possibile di debugare i template .erb nella IDE. E basta fare
una installazione di “ruby-debug” e “ruby-debug-ide” e scegliere “Fast
Debugger” nelle preferenze di Netbeans.
Comunque, per chi hanno MacOS Leopard, Netbeans serve un po di aiuto:
Ci sono istruzioni a Daniel Hahn, per chi
vogliono saperne di
più…
(C’è anche una integrazione con quella roba di Eclipse, ma quando io
l’ho provato (sei mesi fa) il debugger non era usabile.)