【发布时间】:2012-05-22 02:00:29
【问题描述】:
Eclipse 是一个你喜欢它或你讨厌它的工具,用于编辑 Javascript 文件。对我来说,两者兼而有之。
无论如何,由于object knowledge 和included file code completion 之类的小细节,我经常更喜欢 Eclipse 的 SPKET JS editor plugin 而不是默认的。
但是,当使用来自 Chrome Dev Tools 的 V8 调试器来处理 Node.JS 等服务器端 JavaScript 时,它会打开第三个编辑器 Chromium(来自浏览器)以进行代码单步执行。
我希望所有内容都在一个选项卡中,因此我尝试使用 V8 工具中的 JS 编辑器打开我的文件,但选项卡中的名称现在已隐藏(尝试以这种方式编辑多个文件)并打开一个新文件无论如何都要调试*。
(* 注意 PHP 调试也有类似的问题,但是会从同一个 PHP 编辑器打开一个新实例)
Chromium JS 编辑器 | SPKET JS 编辑器 | Eclipse JS 编辑器
另外,我不知道这是特定于节点还是特定于 Eclipse,但node --debug 不接缝做任何事情,没有变量大纲,没有断点。而node --debug-brk 则符合预期。所以要么 Node.js 很奇怪,Eclipse 是,我错过了重点,或者我设置了调试错误。
谁能详细说明在Eclipse中调试服务器端JS并使用最完整的JS编辑器,以便:
- JS 编辑器知道对象内部的函数和单独的文件,如 SPKET(在 Node.js 等现代实现中经常出现这种情况),但最好免费用于任何用途(如 Chromium 开发工具)
- Eclipse 将代码和调试保留在同一个选项卡中(如果可能的话)
- 选项卡保留文件名(错误或设置错误?)
我在 Ubuntu 12.04 x64 上运行带有 Google Chrome 开发工具 SDK WIP + 远程调试 + JSDT 桥的 Eclipse Indigo 3.7.2 和 - 如果相关 - 可选的 SPKET 1.6.20 IDE。
--编辑--
至少我知道在哪里放置断点。不在编辑器中,而是在调试器中。打开Project Explorer:
窗口 -> 显示视图 -> 其他... -> 常规 -> 项目资源管理器
在项目资源管理器中 -> 选择您的调试项 -> 打开正确的 JS 文件 -> 这是您要添加断点的地方。
【问题讨论】:
-
只是关于
node --debug的评论。这将在启用远程调试的情况下启动脚本,但实际运行脚本。因此,您应该能够打开其中一个执行的脚本,在那里设置一个断点,当到达它时,nodejs 应该在设置的断点处停止,并且您应该能够单步执行代码。node --debug-brk启动已暂停的 nodejs。 -
是的,我最近注意到
--debug-brk自动连接到正确的“编辑器”,因此断点确实有效。使用--debug在默认编辑器中设置断点没有附加到正确的调试器或其他东西,我还没有弄清楚如何连接两者(我的意思是你的默认编辑器和调试器)。 -
beefeather 的回答解释了如何让非中断调试使用您首选的编辑器设置断点,而不需要单独的窗口。
标签: javascript eclipse debugging v8 google-chrome-devtools