Fügt mithilfe von Byebug schrittweise Debugging- und Stapel-Navigationsfunktionen hinzu.
Um zu verwenden, rufen Sie Pry normal auf. Sie müssen Ihr Skript oder Ihre App nicht anders starten. Die Ausführung wird in der ersten Anweisung nach Ihrer binding.pry
angehalten.
def some_method
puts 'Hello World' # Run 'step' in the console to move here
end
binding . pry
some_method # Execution will stop here.
puts 'Goodbye World' # Run 'next' in the console to move here.
MRT 2.4.0 oder höher.
Hinzufügen
gem 'pry-byebug'
zu Ihrem GemFile und Lauf
bundle install
Stellen Sie sicher, dass Sie das Edelstein weltweit oder in die :test
einfügen, wenn Sie vorhaben, Ihre Tests zu debuggen!
Break: Breakpoints verwalten.
Schritt: Schritt Ausführung in die nächste Zeile oder Methode. Nimmt ein optionales numerisches Argument, um mehrmals zu treten.
Weiter: Treten Sie zur nächsten Zeile innerhalb desselben Rahmens. Nimmt auch ein optionales numerisches Argument, um mehrere Zeilen zu treten.
Beenden: Führen Sie aus, bis der aktuelle Stack -Frame zurückkehrt.
Fortsetzung: Fortsetzung der Programmausführung und beenden Sie die Pry -Sitzung.
Backtrace: Zeigt den aktuellen Stapel an. Sie können die Zahlen auf der linken Seite mit dem Befehl frame
verwenden, um den Stapel zu navigieren.
Up: Bewegt den Stapelrahmen nach oben. Nimmt ein optionales numerisches Argument, um mehrere Frames zu verschieben.
Down: bewegt den Stapelrahmen nach unten. Nimmt ein optionales numerisches Argument, um mehrere Frames zu verschieben.
Rahmen: Bewegt sich zu einem bestimmten Rahmen. Ohne Argumente wird der aktuelle Rahmen angezeigt.
Wenn Sie von Byebug oder von Pry-byebug-Versionen vor 3.0 kommen, fehlen Ihnen möglicherweise die Aliase 'n', 'S', 'C' und 'F' für die Trittbefehle. Diese Aliase wurden standardmäßig entfernt, da sie normalerweise mit den Namen der Kratzvariablen in Konflikt stehen. Aber es ist sehr einfach, sie wieder zu wiederholen, wenn Sie sie noch haben möchten. Fügen Sie einfach die folgenden Abkürzungen zu Ihrer ~/.pryrc
-Datei hinzu:
if defined? ( PryByebug )
Pry . commands . alias_command 'c' , 'continue'
Pry . commands . alias_command 's' , 'step'
Pry . commands . alias_command 'n' , 'next'
Pry . commands . alias_command 'f' , 'finish'
end
Möglicherweise finden Sie auch nützlich. Der letzte Befehl wiederholen Sie den letzten Befehl, indem Sie einfach die Enter
(z. B. mit step
oder next
) drücken. Um dies zu erreichen, fügen Sie dies Ihrer ~/.pryrc
-Datei hinzu:
# Hit Enter to repeat last command
Pry :: Commands . command /^$/ , "repeat last command" do
pry_instance . run_command Pry . history . to_a . last
end
Sie können die Haltepunkte direkt aus einer Pry -Sitzung mit dem Befehl break
einstellen und anpassen:
Break: Stellen Sie einen neuen Haltepunkt aus einer Zeilennummer in der aktuellen Datei, einer Datei- und Zeilennummer oder einer Methode fest. Übergeben Sie einen optionalen Ausdruck, um einen bedingten Haltepunkt zu erstellen. Bearbeiten Sie vorhandene Haltepunkte über verschiedene Flags.
Beispiele:
break SomeClass #run # Break at the start of `SomeClass#run`.
break Foo #bar if baz? # Break at `Foo#bar` only if `baz?`.
break app / models / user . rb : 15 # Break at line 15 in user.rb.
break 14 # Break at line 14 in the current file.
break -- condition 4 x > 2 # Change condition on breakpoint #4 to 'x > 2'.
break -- condition 3 # Remove the condition on breakpoint #3.
break -- delete 5 # Delete breakpoint #5.
break -- disable - all # Disable all breakpoints.
break # List all breakpoints.
break -- show 2 # Show details about breakpoint #2.
Geben Sie break --help
von einer Pry -Sitzung, um alle verfügbaren Optionen anzuzeigen.
Beachten Sie, dass alle Alternativen hier mit Pry-byebug unvereinbar sind. Wenn Ihre Plattform von Pry-byebug unterstützt wird, sollten Sie eine der hier genannten Edelsteine entfernen, wenn sie in Ihrer GemFile vorhanden sind.
Pry-Debugger: Bietet schrittweise Debugging für MRT 1.9.3 oder ältere Rubine. Wenn Sie diese noch verwenden und einen Schritt-für-Schritt-Debugger benötigen, um das Upgrade zu unterstützen, kann Pry-Debugger praktisch sein.
PRY-STACK_EXPLORER: Bietet Stapelnavigationsfunktionen für MRT 1.9.3 oder ältere Rubine. Wenn Sie diese noch verwenden und in Ihrem Stack navigieren müssen, um beim Upgrade zu helfen, kann Pry-Stack_explorer praktisch sein.
Pry-Nav: Bietet schrittweise Debugging für Jruby.
Siehe Erste Schritte mit der Entwicklung.
Abonnieren Sie Tidelift, um sicherzustellen, dass Pry-byebug aktiv gewartet bleibt und gleichzeitig die Lizenzierung von Zusicherungen und zeitnahen Sicherheitsbenachrichtigungen für Ihre Open-Source-Abhängigkeiten erhalten.
Sie können pry-byebug
auch helfen, indem Sie ein kleines (oder großes) Tipp durch Liberapay hinterlassen.
Bitte verwenden Sie den Tidelift -Sicherheitskontakt, um eine Sicherheitsanfälligkeit zu melden. TIDELIFT koordiniert die Korrektur und Offenlegung.
Patches und Fehlerberichte sind willkommen.