Sha256: f935ac620a31bfabea6210ded27ef3a5ace36dc579d27b57eec22022621ee28a

Contents?: true

Size: 1.5 KB

Versions: 4

Compression:

Stored size: 1.5 KB

Contents

= dexc
== About
Automatically start the REPL and show trace on an exception to debug.

== Requirements
* Ruby 2.0.0 or later
* Pry(optional)

== Installation
 $ gem install dexc

== Examples
 $ cat t.rb
 def m(obj)
   obj.to_s + 1
 end

 m(0)

 $ ruby -rdexc t.rb
  0:lib/dexc.rb:82>     tp.enable
    TracePoint#enable: false
  1:lib/dexc.rb:83>   end
    Dexc#start: false
  2:lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45>       return gem_original_require(path)
    Kernel#gem_original_require: true
  3:lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45>       return gem_original_require(path)
    Kernel#require: true
  4:t.rb:0>
    IO#set_encoding: #<File:t.rb (closed)>
  5:t.rb:0>
    IO#set_encoding: #<File:t.rb (closed)>
  6:t.rb:1> def m(obj)
    Module#method_added: nil
  7:t.rb:2>   obj.to_s + 1
    Fixnum#to_s: "0"
  8:t.rb:2>   obj.to_s + 1
    Exception#initialize: #<TypeError: no implicit conversion of Fixnum into String>
  9:t.rb:2>   obj.to_s + 1
    Class#new: #<TypeError: no implicit conversion of Fixnum into String>
 10:t.rb:2>   obj.to_s + 1
    Exception#exception: #<TypeError: no implicit conversion of Fixnum into String>
 11:t.rb:2>   obj.to_s + 1
    Exception#backtrace: nil

 TypeError: no implicit conversion of Fixnum into String
         from t.rb:2:in `+'
         from t.rb:2:in `m'
         from t.rb:4:in `<main>'

 From: t.rb @ line 2 Object#m:

     1: def m(obj)
  => 2:   obj.to_s + 1
     3: end

 [1] pry(main)> obj
 => 0
 [2] pry(main)> hist[7] # or dexc_hist[7]
 => "0"

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
dexc-0.1.0 README.rdoc
dexc-0.0.3 README.rdoc
dexc-0.0.2 README.rdoc
dexc-0.0.1 README.rdoc