Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

C初心者がbyebugにPR出した話

933 views

Published on

表参道.rb #34でLTしたものです

Published in: Technology
  • Be the first to comment

  • Be the first to like this

C初心者がbyebugにPR出した話

  1. 1. C byebug PR @tzm_freedom
  2. 2. • Twitter: @tzm_freedom • GitHub: tzmfreedom • Blog: https://blog.freedom-man.com • • Ruby/Rails • Ruby 2 Rails 1 • API • .rb 2
  3. 3. • byebug(pry-byebug) • REPL • • binding.irb • REPL • • ruby-debug-ide(debase) • RubyMine IDE • web-console web REPL • better_errors + binding_of_caller web REPL •
  4. 4. byebug debase(ruby-debug-ide) • 10.0.0 byebug debase NoMethodError (undefined method `step_out' for #<Byebug::Context: 0x007fa4608278d0>): • undefined step_out
  5. 5. byebug • https://blog.freedom-man.com/byebug-codereading/ • TracePoint C 
 • TracePoint gem byebug • Ruby 2.5 bootsnap Rails byebug RubyVM::InstructionSequence.load_from_binary TracePoint • C
  6. 6. C gdb • gdb ruby : 
 http://techlife.cookpad.com/entry/2015/12/09/163746 • gdb —args ruby ./hoge.rb • gdb .gdbinit rc • gdb dashboard • ruby/ruby .gdbinit
  7. 7. • Init_context(), Init_breakpoint() debase extern • byebug Kernel.byebug `byebug/core` require Init_context() Init_breakpoint() • • byebug Init_context() debase Init_context() • debase byebug 😇
  8. 8. Byebug::Context = Debase::Context
  9. 9. • • C byebug_ prefix • extern => static
  10. 10. byebug debase
  11. 11. byebug debase
  12. 12. debase debase

×