7

Czy można używać doskonałego klejnotu better_errors jako debugera?Użyj better_errors jako debugger?

Innymi słowy, czy mogę dodać kod, aby umieścić go na stronie błędu "better_errors", przeglądać i sprawdzać, a następnie kontynuować?

Mogę dodać fałszywy błąd lub raise, ale nie mogę "kontynuować".

Tak, wiem, że mogę używać debuggera lub podważyć, ale interfejs better_errors jest lepszy, zawiera wszystkie rodzaje informacji żądania & stosu i mogę kodować/debug z 2 otwartych oknach zamiast 3.

Odpowiedz

3

Nie , jest zbudowany wokół strony błędu. A migawka stosu wywołań pochodzi z ostatniego wyjątku.

3

Lub lub .... jeśli naprawdę potrzebujesz.

Po prostu włóż: raise 'something' i podnieś arbitralny błąd tam, gdzie jest to potrzebne, a następnie odbierz REPLIK.

3

Spójrz na klejnot binding_of_caller używany w połączeniu z better_errors. Poświęć 8 minut i obejrzyj wersję demonstracyjną RailsCasts #402, używając obu klejnotów jednocześnie. Nie dostaniesz debugowania krokowego ani ustawienia punktu obserwacyjnego, ale z pewnością umożliwi ci to sprawdzenie i pokerzenie wokół zmiennych lokalnych i instancji w dowolnej ramce stosu (każdy z własnym REPL).

Z README:

Korzystanie binding_of_caller możemy chwycić powiązania z wyżej wywołanie stosu i oceny kod w tym kontekście. Umożliwia dostęp do powiązań dowolnie daleko w górę stosu wywołań, nie ograniczając się tylko do natychmiastowego wywołującego .

Należy jednak używać go tylko w środowisku programistycznym. Powinieneś mieć następujące rzeczy w swoim Gemfile.

group :development do 
    gem 'better_errors' 
    gem 'binding_of_caller' 
end