来自gdb,它会在完成时打印函数的返回值。有没有办法从Chrome调试器获取此信息而不更改正在调试的源?
答案 0 :(得分:24)
A fix for this自2013年11月5日开始实施,但显然只是在我写这篇文章时才在Chrome Canary中发布。 (我在33.0.1719.0中看到它,但在Chrome Beta版32.0.1700.19测试版中没有看到它。)
如果您正在运行的版本确实拥有它,那么当您单步执行return语句时,调试器的Scope Variables
本地范围包含一个带有值的<return>
条目。
(我需要使用Canary进行主要调试,但在问题中看到引用的notice之前没有注意到<return>
条目的存在!)
答案 1 :(得分:6)
答案 2 :(得分:5)
我的Chrome版本是41.0.2272.118米。这是为什么你应该在一个单独的行上放置复杂的return语句的一个很好的理由。如果您在返回后的任何行上添加断点,Chrome将在断点时添加(在此示例中)Sources面板的“Scope Variables”窗格的“Local”节点下的“&lt; return&gt;:true”叶被击中了。
function bar() {
return true;
}
(function foo() {
return bar();
})(); // Place breakpoint here
答案 3 :(得分:3)
不,目前还没有办法。
然而,它有一个open enhancement request。它被分配了,在撰写本文时,它正在等待this V8 enhancement。
答案 4 :(得分:1)
如果你设置一个断点,你可以将鼠标悬停在变量上,它会显示这些值是什么 - 这对你想要做的事情有用吗?
答案 5 :(得分:0)
也许会这样做?
1。)查看页面来源。
2。)查找功能定义并将其复制到剪贴板。
3.。)修改剪贴板上的函数定义,以记录它将要返回的值。 (即console.log(x); return x;
)
4.。)将修补后的函数定义粘贴到控制台中并运行它。这将覆盖现有的功能。
5.。)触发功能。
答案 6 :(得分:0)
在Chrome中仍然无法实现,但在Firefox 24+中也是如此。你需要从函数中跳出(Shift + F11),它将显示返回值或函数作用域中抛出的异常。