Node.js remote debug
前几天尝试使用node的一个module发现这个模块对windows不支持,即使能勉强支持也需要重新再windows上编译模块要依赖的C++,鉴于已经N年没搞过cpp,而且本机没有vc的环境,干脆就直接在虚拟机启动node的instance了。
Linux虚拟机能好好的跑node,但是debug是一个非常非常大的问题,用webstorm始终连不上VM里面的服务,即使尝试关闭Iptables也不行。后来发现调试端口监听的是localhost,因此其他主机访问不了虚拟机的5858端口。因此,需要在linux上起一个代理服务。
yum install balance -yt
balance -df 8585 127.0.0.1:5858
这里将linux的5858对外暴露为8585.
尝试在windows上talnet一把:
telnet {VM IP} 8585
然后可以看到如下消息
Type: connect
V8-Version: 3.6.6.14
Protocol-Version: 1
Embedding-Host: node v0.6.6
Content-Length: 0
这样就可以成功在webstorm里面debug了
参考: http://www.binarysludge.com/2012/02/21/phpstorm-remote-debugging-node-js-on-a-foreign-host-jetbrains-webstorm-rubymine/
http://stackoverflow.com/questions/8445534/how-to-remote-debug-node-js-with-phpstorm
http://youtrack.jetbrains.com/issue/WEB-1877