2011-11-12 2 views
5

오랫동안 지속 되어온 좌절의 근원이지만 어쩌면 내가 누락 된 것이있을 수 있습니다. 디버깅 중에 디버거를 종료하고 IRB 또는 Rails Console로 돌아가려면 IRB를 종료하므로 "종료"가 작동하지 않습니다. "finish"도 계속하는 것과 같은 효과가있는 것 같습니다. "delete"를 사용하여 중단 점을 제거한 다음 "계속"또는 "완료"를 시도하면 작동하지 않습니다.IRB 세션을 종료하지 않고 디버거에서 어떻게 종료합니까?

아이디어가 있으십니까?

답변

2

SO question에는 몇 가지 제안 사항이 있습니다. 특히 루프 내부의 디버깅을 다룹니다. 좋은 해결책 중 하나는 루프 밖에서 중단 점을 설정 한 다음 irb에서 루프 내부에 중단 점을 설정하고 원하는 경우 수동으로 제거하는 것입니다.

기본적으로 중단 점을 설정하는 곳으로 약간의 생각을가집니다.

그 외에는 수행 할 수있는 작업이없는 것으로 보입니다.

2

byebug에서 적어도, 당신은이 작업을 수행 할 수 있습니다 : 현재 함수에서 return 문을 평가의 순 효과가

eval return 

합니다. 호출 스택이 어떻게 보이는지에 따라 때때로 작동합니다.

지금은 현재 중단 점을 제거하지 않지만 ... 다시 제어하려는 경우에는 코드 구성 방법에 따라 대부분의 경우이 작업을 수행합니다.

코드의 디버그 항목을 만들 때 또한이 작업을 수행하는 데 유용합니다 : 모든 다른 디버깅 세션에 실패 할 경우

byebug unless $continue 

그래서, 당신은 항상 지금이

$continue = true 
c 

를 실행할 수 있습니다 가능성을 열어줍니다.

관련 문제