“node --debug”和“node --debug-brk”无效

时间:2017-06-26 03:12:52

标签: node.js unit-testing mocha visual-studio-2017

我更新了节点(v8.1.2)。当我想使用NTVS在nodejs中调试我以前的测试项目时(在Visual Studio 2017中),我遇到了以下错误:

  

StandardError :(节点:5292)[DEP0062]弃用警告:<div class="parent"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> <div>10</div> <div>11</div> <div>12</div> <div>13</div> <div>14</div> <div>15</div> <div>16</div> </div>node --debug无效。请改用node --debug-brknode --inspect

问题很明显。该工具尝试运行node --inspect-brk以启动项目。

问题是,如何在Visual Studio 2017中将node --debug更改为node --debug以运行测试?

另外,我应该提到我无法通过在脚本参数中添加node --inspect来解决问题。

6 个答案:

答案 0 :(得分:2)

我这样做了:
1. mv /usr/local/bin/node /usr/local/bin/node_bin
2. echo > /usr/local/bin/node
3. editor /usr/local/bin/node
 插入脚本:

#!/bin/bash
## the script converting parameters for nodejs new version
##
new_name="node_bin";
eval _options="(" $(echo -e $@) ")"
_node=$(whereis -b $new_name|awk '/^'$new_name':/{print $2}');                                                                              
eval _version="(" $(echo -e $($_node --version|sed 's/[^0-9]/ /g')) ")";                                                                    
# local values                                                                                                                              
old_options=( "--debug" "--debug-brk" );                                                                                                    
new_options=( "--inspect" "--inspect-brk" );                                                                                                
_opt=();                                                                                                                                    

function filtr() {                                                                                                                          
    _opt=${_options[@]};                                                                                                                    
    for ((get_i=0; get_i != ${#old_options[@]}; get_i++))                                                                                   
        do                                                                                                                                  
        if [ ${new_options[$get_i]} = "" ];
            then
                _opt=${_opt[@]};
            else
                _opt=$( echo -e ${_opt[@]}|sed 's/'${old_options[$get_i]}'/'${new_options[$get_i]}'/g');
        fi
    done

}

function convert() {

if [ $(echo -e ${#_options[@]}) = 0 ];
    then 
        $_node;
    else
     filtr;

        $_node $(echo -e ${_opt[@]})
fi
exit 0;
}

if (( ${_version[0]} >= 7 ));
 then
   convert;
fi
exit 0;
  1. chmod ugo+x /usr/local/bin/node
    我不会说这个决定很优雅,但对我有帮助。

答案 1 :(得分:1)

我遇到了同样的问题,并通过更新到VS2017版本15.2来修复。

答案 2 :(得分:0)

您应该将nodejs降级到7.0.0或更低。 在Windows上使用NVM,请参阅此post

您可以在计算机上安装多个节点版本。

运气!

答案 3 :(得分:0)

您应该将IDE vsc更新到最新版本(v1.13),我的节点版本是v8.0.0;它可以解决此问题。

答案 4 :(得分:0)

您可以使用Chrome的DevTools进行调试,如下所示:

  1. 使用--inspect option ...启动节点 例如$node --inspect app.js。 您应该看到类似

    的控制台打印输出
      

    监听ws://127.0.0.1:9229 / 2558baab-1141-4db3-8d10-771586f876a6的调试器

  2. 打开Chrome浏览器并浏览至 chrome://inspect。 单击“打开专用的DevTools for Node”链接。

答案 5 :(得分:0)

如果任何人仍然遇到此问题,请替换为wdio.conf.js debug: true, execArgv: ['--debug=127.0.0.1:5859']inspect: true, execArgv: ['--inspect=127.0.0.1:5859']