Sha256: 7e0c30668d412ab2dddbf765e9c255b09d22f2d75b1b3029607c0dc328d1d196

Contents?: true

Size: 1.47 KB

Versions: 2

Compression:

Stored size: 1.47 KB

Contents

# -*- coding: utf-8 -*-
# Copyright (C) 2010 Rocky Bernstein <rockyb@rubyforge.net>
require_relative '../../base/subsubcmd'

class Trepan::SubSubcommand::SetDebugStack < Trepan::SetBoolSubSubcommand
  unless defined?(HELP)
    HELP = "Set display of complete stack including possibly setup stack from trepanning"
    MIN_ABBREV  = 'st'.size
    NAME        = File.basename(__FILE__, '.rb')
    PREFIX      = %w(set debug stack)
  end

  def run(args)
    super
    @proc.hide_level  = 
      if @proc.settings[:debugstack]
        0
      else
        @proc.hidelevels[Thread.current] || 0
      end
  end
end

if __FILE__ == $0
  # Demo it.
  require_relative '../../../mock'
  require_relative '../../../subcmd'
  name = File.basename(__FILE__, '.rb')

  # FIXME: DRY the below code
  dbgr, set_cmd  = MockDebugger::setup('set')
  debug_cmd      = Trepan::SubSubcommand::SetDebug.new(dbgr.core.processor, 
                                                        set_cmd)
  # FIXME: remove the 'join' below
  cmd_name       = Trepan::SubSubcommand::SetDebugStack::PREFIX.join('')
  debugx_cmd     = Trepan::SubSubcommand::SetDebugStack.new(set_cmd.proc, 
                                                              debug_cmd,
                                                              cmd_name)
  # require_relative '../../../../lib/trepanning'
  # dbgr = Trepan.new(:set_restart => true)
  # dbgr.debugger
  debugx_cmd.run([name])
  debugx_cmd.run([name, 'off'])
  debugx_cmd.run([name, 'on'])
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
trepanning-0.0.6 processor/command/set_subcmd/debug_subcmd/stack.rb
trepanning-0.0.4 processor/command/set_subcmd/debug_subcmd/stack.rb