Stop! Hammertime.
Dax Huiberts wo 27 jan 10
We hebben het op Holland on Rails al eerder gehad over debuggen, maar het probleem met ruby-debug is dat je expliciet moet aangeven wanneer ruby-debug moet gaan runnen. Vrijwel altijd is dat als er een exception geraised wordt. Daarvoor moet je dan een rescue block schrijven die de debugger start en daarna weer de exception re-raised. Dat is niet zo praktisch.
Met behulp van Hammertime is dit probleem opgelost en op een goede manier ook. Lisp, Smalltalk en Haskell zijn een paar talen die ervoor zorgen dat je in een interactive console terecht komt als er een exception ontstaat. Hammertime bootst dit na door de raise method van de Kernel module te herimplementeren en een soortgelijke interactive console op te starten. In deze interactive console kan je de volgende acties uitvoeren:
1. Continue (process the exception normally) 2. Ignore (proceed without raising an exception) 3. Permit by type (don't ask about future errors of this type) 4. Permit by line (don't ask about future errors raised from this point) 5. Backtrace (show the call stack leading up to the error) 6. Debug (start a debugger) 7. Console (start an IRB session)
Zoals je ziet heb je veel mogelijkheden met Hammertime. Enig klein nadeeltje is dat Hammertime niet werkt met exceptions die worden geraised in native code, maar enkel met exceptions die worden geraised in ruby code. Voor veel van je eigen geschreven code is dit waarschijnlijk dus ook geen probleem. Hammertime staat natuurlijk ook op github.
Gepost in hor | 0 reacties
Welcome to Holland On Rails
This weblog is the official Ruby techblog from the guys at Holder, a Ruby development company. Holder is also the company behind the RubyAndRails Europe Conference in Amsterdam.Recente Jobs
Bekijk alle jobs »»
Gereedschapskist
Onmisbare tools vooriedere developer!
- Ruby On Rails
Framework voor de web 2.0 developer. Eindelijk vooruitgang! - TextMate
Editor for true pro's
Typ, tab, top :-)
Nee, niet voor Win. - Made On A Mac
En nou is het over met die saaie grijze Windows bak van je!
Auteurs op deze site
Chris Obdam
'Less is more' evangelist, past dit ook dagelijks toe op zijn tandenborstel.Chiel Wester
Snelheidswonder op Ruby wielen. Leuk om mee te pair-programmen ;-)
Plaats je reactie