class Byebug::SaveCommand
Save current settings to use them in another debug session.
Public Class Methods
description()
click to toggle source
# File lib/byebug/commands/save.rb, line 58 def description prettify <<-EOD save[ FILE] Saves current byebug state to FILE as a script file. This includes breakpoints, catchpoints, display expressions and some settings. If no filename is given, we will fabricate one. Use the "source" command in another debug session to restore them. EOD end
names()
click to toggle source
# File lib/byebug/commands/save.rb, line 54 def names %w(save) end
Public Instance Methods
execute()
click to toggle source
# File lib/byebug/commands/save.rb, line 41 def execute file = File.open(@match[1] || RESTART_FILE, 'w') save_breakpoints(file) save_catchpoints(file) save_displays(file) save_settings(file) print pr('save.messages.done', path: file.path) file.close end
regexp()
click to toggle source
# File lib/byebug/commands/save.rb, line 37 def regexp /^\s* sa(?:ve)? (?:\s+(\S+))? \s*$/x end
save_breakpoints(file)
click to toggle source
# File lib/byebug/commands/save.rb, line 15 def save_breakpoints(file) Byebug.breakpoints.each do |b| file.puts "break #{b.source}:#{b.pos}#{" if #{b.expr}" if b.expr}" end end
save_catchpoints(file)
click to toggle source
# File lib/byebug/commands/save.rb, line 21 def save_catchpoints(file) Byebug.catchpoints.keys.each do |c| file.puts "catch #{c}" end end
save_displays(file)
click to toggle source
# File lib/byebug/commands/save.rb, line 27 def save_displays(file) @state.display.each { |d| file.puts "display #{d[1]}" if d[0] } end
save_settings(file)
click to toggle source
# File lib/byebug/commands/save.rb, line 31 def save_settings(file) %w(autoeval autoirb autolist basename).each do |setting| file.puts "set #{setting} #{Setting[setting.to_sym]}" end end