CNode

visual studio code 调试 egg.js搭建的项目的问题?

问答
Wwoyunyun4le发布于9 年前最后回复9 年前14 回复8433 浏览0 收藏

visual studio code 怎么样调试egg.js搭建的项目啊? 应该怎么配置? 下了断点 并不会断下啊? 知道的说一下 谢谢。

查看回复

回复 (14)

1
15826954460#2·9 年前

还是云里雾里

O
okoala#4·9 年前

@woyunyun4le
目前 egg 调试这块简单的可以分为 IDE 调试和 Chrome Devtools 调试。 VSCode 的话需要先安装 egg-development-proxyworker 这个插件,完善用例之后会默认在 egg 中打开,无需单独安装。 具体的使用步骤可以看这里: 使用-vscode-进行调试 最近会添加 Node 8 Chrome Devtools 的调试代理,调试比官方的方式还更方便,可以通过这个 PR 关注进展

最后建议新手上路都应该先把 egg 文档 完完整整过一遍,这样少走弯路

I
i5ting#5·9 年前
引用 atian25@okoala is vscode debugger master

@atian25 加node xx --debug,然后attach不行么? proxyworker看着就蛋疼

A
atian25#6·9 年前
引用 i5ting@atian25 加node xx debug,然后attach不行么? proxyworker看着就蛋疼

@i5ting 这个插件解决的最主要的一个问题是:

  • cluster 场景下,开发期自动重启 worker 导致的 debug-port 递增问题,通过该插件,就不需要手动重新 attach 了。
  • 原理很简单,就是自己起一个 socket,代理过去 debug-port,当监测到自增时,自动切换过去。
  • 命名问题可以吐槽 @okoala ,嗯.
  • 等他完善这个版本后,就内置到 egg 里面了,对使用者无感知。
R
rwing#7·9 年前

话说,我就觉得 debug 的时候应该不要弄成 cluster 场景啊,只启一个 worker,会不会更好调试一点

A
atian25#8·9 年前
引用 rwing话说,我就觉得 debug 的时候应该不要弄成 cluster 场景啊,只启一个 worker,会不会更好调试一点

@rwing 实际业务场景下,一般都会有 agent 参与的,开发期要尽量和线上一致。

另外,很多时候,通过单元测试来确定和排除问题会更便捷,此时就是单进程的。而不是通过 npm run debug 来手动调试。

A
atian25#11·9 年前
引用 i5ting@atian25 开发阶段cluster?

@i5ting egg 在开发期会启动 master / agent / 1 worker, 线上是 master / agent / cpus worker

O
okoala#12·9 年前

@rwing 本身架构问题就是要多方面考虑的,不是说为了调试方便 debug 的时候只启一个 worker 就简单了事。如果能简单无感知的解决掉调试问题,我觉得这样的成本很低。

参与回复
登录后即可参与回复。登录