2013-07-15 3 views
8

Ruby 1.9.3에서 Ruby on Rails 4를 사용하고 있습니다. 레이크 작업 중에 오류가 발생하면 스택 추적이 매우 좋습니다.레일 4 콘솔에서 예외적으로 스택 덤프 사용

그러나 예외를 유발하는 내 레일 콘솔 (pry)에서 뭔가를하면 오류 메시지와 그것을 트리거 한 코드 한 줄만 표시됩니다. 대부분의 경우 레일 코어의 어딘가에 있습니다.).

콘솔에서 이러한 스택 덤프를 활성화하는 방법이 있습니까?

답변

22

(모든 라인을 보여줍니다).

명백하게 나는 부두와 함께 오는 wtf? 명령을 필요로했다. 내가 정확하게 작업을 수행 할 때

[7] project » p.known_attributes 
NoMethodError: undefined method `foo' for #<Bar:0x007f871fd12a38> 
from /[...]/gems/activemodel-4.0.0/lib/active_model/attribute_methods.rb:436:in `method_missing' 

[8] project » wtf? 
Exception: NoMethodError: undefined method `foo' for #<Bar:0x007f871fd12a38> 
-- 
[... stack dump ...] 

[9] project » 
+0

이것은 나를 행복하게합니다. –

1

콘솔에 오류가 당신이 그것으로 문제가 무엇이

$ rails c 
Loading development environment (Rails 4.0.0) 
irb(main):001:0> no_method 
NameError: undefined local variable or method `no_method' for main:Object 
    from (irb):1 
    from /Users/michal/Projects/tennisliga/.gems/gems/railties-4.0.0/lib/rails/commands/console.rb:90:in `start' 
    from /Users/michal/Projects/tennisliga/.gems/gems/railties-4.0.0/lib/rails/commands/console.rb:9:in `start' 
    from /Users/michal/Projects/tennisliga/.gems/gems/railties-4.0.0/lib/rails/commands.rb:64:in `<top (required)>' 
    from bin/rails:4:in `require' 
    from bin/rails:4:in `<main>' 

같은 것을 볼 수있다? 스택 추적을 볼 수 없습니까?

편집 : 당신이 놀리려는를 사용하고 pry wiki 짧은 예를 참조, 더 스택 추적을보고 싶다 경우 나 자신 해결책을 발견

Pry.config.exception_handler = proc do |output, exception, _pry_| 
    output.puts "#{exception}" 
    output.puts "#{exception.backtrace}" 
end 
+0

은 내가지고있어 단지'나가서 설명하자면 NameError입니다 : 정의되지 않은 지역 변수 또는 메소드 'no_method의 주요위한'

'에 : 1 : (놀리려는)에서 객체 . 스택 덤프가 없습니다. –

+0

나는 단지 이걸로 손에 잡힐지도 모른다는 것을 알았다. 그게 가능할 수 있습니까? –

+0

기본 콘솔로 설정하려고합니까? –