我正在Oracle VirtualBox中的Linux VM中运行Node.js应用程序.端口5858在虚拟机上转发到端口5858上的本地主机.
我在主机操作系统(Windows 7)上运行WebStorm.在WebStorm中,我单击Run >> Edit Configurations....I然后单击添加按钮(加号)并选择Node.js remote debug.然后我输入配置的名称,并将主机保留为127.0.0.1和端口为5858.我单击OK,确保我的节点应用程序正在带有--debug标志的VM上运行.
然后,我单击WebStorm工具栏中的错误图标,调试器出现在WebStorm IDE的底部.
如何确认连接成功?断点不起作用,WebStorm中的控制台保持为空(当信息发送到Linux VM上的控制台时).任何人都可以建议仍然需要做什么来使远程调试会话工作?
我想使用node我的应用程序的官方docker镜像.但是我无法让远程调试器在主机上运行.我正在使用Visual Studio Code连接到远程调试器.
奇怪的是使用cusspvz/node远程调试器正常工作的非官方图像.
当我docker log对cusspvz/node容器的实例运行时,我得到以下输出:
Debugger listening on [::]:5858
但是,当我docker log对node容器的实例运行时,我得到:
Debugger listening on 127.0.0.1:5858
这让我相信调试器正在侦听错误的IP地址(应该是通配符而不是localhost?)
我已经尝试了内置调试器以及nodemon.不幸的是我无法让node-inspector工作,因为它无法安装(看起来构建失败了).
这是我的Dockerfile:
FROM node
WORKDIR /scraper
EXPOSE 5858
ENTRYPOINT ["/bin/bash", "-c", "if [ -z \"$REMOTE_DEBUGGING\" ]; then node --debug index.js; else node --debug-brk index.js; fi"]
COPY . /scraper
RUN npm install
Run Code Online (Sandbox Code Playgroud)
我正在用docker-compose启动容器,使用这个YML文件:
version: '2'
services:
alt.nphotos.imagescraper:
container_name: nscraper
hostname: nscraper
build:
context: ./ALT.NPhotos.ImageScraper
dockerfile: Dockerfile.debug
environment:
- REMOTE_DEBUGGING=1
- AMQP_CONNECTIONSTRING=amqp://guest:guest@nqueue
ports: …Run Code Online (Sandbox Code Playgroud)