6 Stimmen

Den Code in Ruby nachverfolgen?

Gibt es eine gute Möglichkeit, ein Skript auszuführen und alle Schritte zu sehen?

  • Welcher Code ausgeführt wird
  • In welcher Datei sich der Code befindet
  • Was sie zurückgibt
  • Die Fehlermeldungen

Dies wäre eine gute Möglichkeit, um zu erfahren, wie ein Open-Source-Projekt funktioniert.

Gibt es solche Lösungen nicht auch für Ruby?

Beispiel.

require "httparty"
HTTParty.get "http://www.google.se"

Dann würde es den Code ausführen und mir den gesamten Code anzeigen, in welcher Datei und Zeile er ausgeführt wird, die zurückgegebenen Objekte, Fehlermeldungen usw.

5voto

rogerdpack Punkte 55995

Tracer könnte es für Sie tun http://en.wikibooks.org/wiki/Ruby_Programming/Standard_Library/Tracer

Wenn Sie nur Ausnahmen sehen wollen, führen Sie ruby -d aus (oder verwenden Sie ruby-debug und "Catch" Exception)

2voto

Mladen Jablanović Punkte 42360

Es gibt Kernel#set_trace_func die im Wesentlichen das abdeckt, was Sie benötigen:

proc benötigt bis zu sechs Parameter: einen Ereignisname, ein Dateiname, eine Zeilennummer, eine Objekt-ID, eine Bindung und den Namen einer Klasse. proc wird immer dann aufgerufen ein Ereignis eintritt.

Ich bin mir allerdings nicht sicher, was Sie mit "den Fehlermeldungen" meinen. Wenn Sie sich auf Ausnahmen beziehen und diese nicht in Ihrem Code behandeln, wird Ihr Code mit dem Ausdruck der Ausnahme beendet.

0voto

horseyguy Punkte 28632

Verwenden Sie einen Debugger? ruby hat einen eingebaut, oder verwenden Sie ruby-debug

0voto

Dmitry Maksimov Punkte 2851

Sie können eine Exception auslösen, sie abfangen und dann die Backtrace-Methode eines Exception-Objekts verwenden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X