如何检查Chromedebugging器中的JavaScript函数返回值?
来自gdb,它将完成时打印一个函数的返回值。 有没有一种方法可以从Chromedebugging器获取这些信息,而无需更改正在debugging的源代码?
2013年11月5日实施了一个修复程序 ,但显然只是在Chrome Canary上发布的时候才发布。 (我在33.0.1719.0中看到它,但在Chrome Beta版本32.0.1700.19testing版中没有看到它。)
如果您正在运行的版本确实具有该版本,那么当您逐句通过return语句时,debugging器的Scope Variables
本地作用域将包含一个带有该值的<return>
条目。
(我需要使用Canary来进行主debugging,但是没有注意到<return>
条目的存在,直到在问题中看到引用的通知 !)
不,目前没有办法。
不过,有一个公开的增强请求 。 它被分配,而且在撰写本文时,它正在等待这个V8增强 。
我的Chrome版本是41.0.2272.118米。 这里有一个很好的理由,你应该把复杂的return语句放在一个单独的行上。 如果在返回后的任何一行上添加断点,则Chrome将在源面板的“范围variables”窗格的“本地”节点下添加(在此示例中)“<return>:true”击中。
function bar() { return true; } (function foo() { return bar(); })(); // Place breakpoint here
如果你设置了一个断点,你可以将鼠标hover在variables上,它会显示这些值是什么 – 这是否适用于你想要做的事情?
也许这会做?
1.)查看页面源代码。
2.)查找函数定义并将其复制到剪贴板。
3.)修改剪贴板上的函数定义以logging它即将返回的值。 (即, console.log(x); return x;
)
4.)将修补后的函数定义粘贴到控制台中并运行。 这将覆盖现有的function。
5.)触发function。
在Chrome中仍然无法使用,但是在Firefox 24 +中可以使用。 您需要从函数中跳出(Shift + F11),它将显示返回值或函数范围中抛出的exception。
我正在使用Chrome版本57.0.2987.98testing版(64位),它在那里,真的很高兴有。 这里有一个截图:
- 使用Chrome浏览器JavaScriptdebugging器/如何在页面加载事件中断
- 在Chrome中模拟有限的带宽?
- Google Chrome浏览器在networking面板中的时间表是什么意思?
- Chrome扩展程序:如何将文件保存在磁盘上
- Chrome扩展程序“Window Resizer”的替代方法
- 如何更改chrome封装的应用程序ID或者为什么我们需要manifest.json中的关键字段?
- 使用Google Chromedebugging和编辑HTML页面中embedded的JavaScript
- 仅在Google Chrome浏览器中显示“无效的表单控件”
- Google Chrome浏览器扩展程序 – 单击工具栏图标时打开“新build”选项卡