Visual Studio 代码 - 调试生成的进程
Visual Studio Code - Debugging a spawned process
项目设置,是一个基本的 express 应用程序,使用 express-generator 生成。
项目 vscode-debugging-node 在 GitHub
可用
请参阅 Visual studio Code - Debugging node application
上的截屏视频
Gruntfile.js
in root of the project, manages the dev process. The purpose of the Gruntfile.js
很简单,它启动服务器并监视任何文件更改。
在检测到所需文件的更改时,它会重新启动服务器(终止现有进程并启动一个新进程)。
Gruntfile.js
uses ./task/server.js
到start/restart服务器。
Gruntfile.js
就是这样开发的,以后会加入cookie管理,提供登录体验。
在执行 $ grunt start
任务时,如果传递了一个名为 NODE_INSPECTOR=*
的 env
变量,服务器将在 --debug
mode 中启动。
当 grunt 任务以 --debug
模式与 node-inspector
运行 并行执行时,我可以使用 Chrome 来调试整个应用程序。
参考Debugging in Visual Studio Code, I tried to achieve the same by updating the .settings/launch.json
,与"program": "/usr/local/bin/grunt"
、"args": ["start"]
和"env": {"NODE_INSPECTOR":"*"}
。
我发现调试器只附加到 ./task/server.js
但在整个应用程序上。我怀疑,这可能是由于 spawn
ed server.
是否可以在visual studio代码中调试这种情况?如果是,了解详情会有很大帮助。
您的怀疑是正确的,您正在配置 Visual Studio 代码以附加到启动服务器的 g运行t 任务,而不是服务器本身。
您有两种选择来调试它:
- 从终端执行
NODE_INSPECTOR=* grunt start
。
服务器启动后,使用 [=11] 中可用的相同 Attach 配置将 运行ning 服务器附加到 Debugger =].在 Debugger 视图中,从配置文件下拉列表中选择 Attach 并启动 Debugger(绿色 ► 播放按钮).
更新——
Sarbbotam 录制了成功附加到他的 node.js 应用程序的截屏视频,您可以在此处找到它 Visual studio Code - Attaching a Node App to Debugger
- 直接配置VSCode到运行服务器,这样你就不会让g运行t任务监听变化并重启服务器。为此,将
program
选项更改为 "bin/www"
项目设置,是一个基本的 express 应用程序,使用 express-generator 生成。
项目 vscode-debugging-node 在 GitHub
可用请参阅 Visual studio Code - Debugging node application
上的截屏视频Gruntfile.js
in root of the project, manages the dev process. The purpose of the Gruntfile.js
很简单,它启动服务器并监视任何文件更改。
在检测到所需文件的更改时,它会重新启动服务器(终止现有进程并启动一个新进程)。
Gruntfile.js
uses ./task/server.js
到start/restart服务器。
Gruntfile.js
就是这样开发的,以后会加入cookie管理,提供登录体验。
在执行 $ grunt start
任务时,如果传递了一个名为 NODE_INSPECTOR=*
的 env
变量,服务器将在 --debug
mode 中启动。
当 grunt 任务以 --debug
模式与 node-inspector
运行 并行执行时,我可以使用 Chrome 来调试整个应用程序。
参考Debugging in Visual Studio Code, I tried to achieve the same by updating the .settings/launch.json
,与"program": "/usr/local/bin/grunt"
、"args": ["start"]
和"env": {"NODE_INSPECTOR":"*"}
。
我发现调试器只附加到 ./task/server.js
但在整个应用程序上。我怀疑,这可能是由于 spawn
ed server.
是否可以在visual studio代码中调试这种情况?如果是,了解详情会有很大帮助。
您的怀疑是正确的,您正在配置 Visual Studio 代码以附加到启动服务器的 g运行t 任务,而不是服务器本身。
您有两种选择来调试它:
- 从终端执行
NODE_INSPECTOR=* grunt start
。 服务器启动后,使用 [=11] 中可用的相同 Attach 配置将 运行ning 服务器附加到 Debugger =].在 Debugger 视图中,从配置文件下拉列表中选择 Attach 并启动 Debugger(绿色 ► 播放按钮).
更新—— Sarbbotam 录制了成功附加到他的 node.js 应用程序的截屏视频,您可以在此处找到它 Visual studio Code - Attaching a Node App to Debugger
- 直接配置VSCode到运行服务器,这样你就不会让g运行t任务监听变化并重启服务器。为此,将
program
选项更改为"bin/www"