Начиная с gdb, он будет печатать возвращаемое значение функции после ее завершения. Есть ли способ получить эту информацию от отладчика Chrome без изменения отлаживаемого источника?
Как проверить возвращаемое значение функции JavaScript в отладчике Chrome?
Ответ 1
Исправление для этого было реализовано с 5 ноября 2013 года, но, по-видимому, только выпущено, в то время как я пишу это, в Chrome Canary. (Я вижу это в 33.0.1719.0, но не вижу его в бета-версии бета-версии Chrome 32.0.1700.19.)
Если версия, которую вы используете, имеет ее, то при выполнении инструкции return отладчик Scope Variables
Локальная область включает в себя запись <return>
со значением.
(Мне нужно использовать Canary для основной отладки, но я не заметил присутствия записи <return>
, пока не увижу ссылку в вопрос!)
Ответ 2
Моя версия Chrome - 41.0.2272.118 м. Вот одна из веских причин, почему вы должны размещать сложные операторы возврата в отдельной строке. Если вы добавите точку останова в любой строке после возврата, Chrome добавит (в этом примере) лист "<return> : true" под "Локальным" node на панели "Переменные области" на панели "Источники", когда точка останова попадает.
function bar() {
return true;
}
(function foo() {
return bar();
})(); // Place breakpoint here
Ответ 3
Нет, сейчас нет способа.
Однако есть открытый запрос расширения. Он назначил, и на момент написания он ожидал этого улучшения V8.
Ответ 4
Если вы установите точку останова, вы можете навести указатель мыши на переменные, и он покажет, какие значения - это работает для того, что вы пытаетесь сделать?
Ответ 5
Я использую бета-версию Chrome версии 57.0.2987.98 (64-разрядная версия) и там, и очень приятно иметь. Вот скриншот:
Ответ 6
Может быть, это будет?
1.) Просмотр источника страницы.
2.) Найдите определение функции и скопируйте ее в буфер обмена.
3.) Измените определение функции в вашем буфере обмена, чтобы зарегистрировать значение, которое оно должно вернуть. (т.е. console.log(x); return x;
)
4.) Вставьте определение исправленной функции в консоль и запустите ее. Это переопределит существующую функцию.
5.) Запустите функцию.
Ответ 7
В Chrome все еще невозможно, но это возможно в Firefox 24+. Вам нужно сделать шаг (Shift + F11) из функции, и в нем отобразится возвращаемое значение или исключение, созданное в области действия.