繁体   English   中英

Visual Studio 2017中的Javascript代理(节点)在调试时会导致阻塞

[英]Javascript Proxy (Node) in Visual Studio 2017 Causes Blocking When Debugging

我正在使用Node v6.10.1在Visual Studio 2017中开发Node应用程序/游戏。 我正在尝试使用ECMA 2015代理对象。 只要在代理创建前后或在某些代理调用(例如get())过程中没有设置断点,代理对象就会按预期工作。 我想知道是否(1)任何其他人都遇到过/解决了此问题,(2)是否在更高版本的Node / VS 2017中发生这种情况。

样例代码:

    var realObject = { answer: 42, question: undefined };
//  Setting breakpoint on following line will cause blocking on Node thread.
    var proxy = (function (_this) {
        var _proxy =  new Proxy(_this, {
            get: function(target, property, receiver) {
               // Breakpoint on line below also causes blocking on Node thread
               return _this[property];
            },
            has: function (target, prop) {
                return prop in _this;
            }
        });
        return _proxy;
    })(realObject);

没有错误,并且如果您取出断点,代码将按预期工作。 这不是秀场停止,但很烦人,使故障排除更加困难。 如果有帮助,我可以升级Node,但我尝试针对较旧的版本进行开发以确保兼容性。

任何帮助是极大的赞赏!

我最终屈服并升级到Node 8.9.3,看来似乎已经解决了问题。 我可以设置断点并继续进行,而不会出现任何阻塞问题:P

我注意到Visual Studio的启动带有一些我之前没有注意到的开关,这可能与它有关:

node --inspect --debug-brk

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM