Эквивалент дампа ядра для исключения Rails - PullRequest
4 голосов
/ 06 октября 2009

Итак, я получил журнал исключений из своего приложения. У меня есть стек вызовов, параметры запроса и все другие обычные вещи в этом журнале. Это редкое исключение, и информация из журнала не содержит всех деталей, которые мне нужны, чтобы решить / продублировать проблему.

Интересно, есть ли способ (gem?) Получить полный дамп состояния приложения Rails в случае исключения. Включая все значения экземпляра и локальных переменных из методов контроллера. Я предполагаю, что дамп всего пространства объектов Ruby может занять даже минуту или около того, но в таком случае мне не нужны ресурсы диска и процессора.

Ответы [ 3 ]

1 голос
/ 06 октября 2009

Если возможно, также неплохо попробовать запустить его с помощью ruby-debug ( инструкции здесь ). Все, что вам нужно сделать, это вставить вызов debugger прямо перед тем, как ошибка сработает, или вставить его в пункт восстановления.

1 голос
/ 06 октября 2009

Не думаю, что я пытаюсь сделать что-то подобное, используя logger.error для переменных, которые мне нужны для получения дополнительной информации.

0 голосов
/ 06 октября 2009

Я не знаю ни одного метода получения состояния приложения.

Одна вещь, которую я делаю в некоторых случаях, это установка netbeans , в которой есть графический отладчик. Вы можете навести курсор на переменные, чтобы увидеть их значения, легко пройтись по стеку, а также иметь исключение, которое вызывает отладчик, а не точку останова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...