问题标签 [node-debugger]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
599 浏览

node.js - 通过 chrome 远程调试 API 在电子中设置断点

我正在构建一个开源 Node.js 调试器,它是一个电子应用程序,并在渲染过程中使用内置调试器。完整来源:https ://github.com/fijiwebdesign/electron-scope/

在主进程中,我想启动脚本进行调试并在第一行设置断点。

我正在关注 Electron 中针对 chrome 调试器 api 的测试: https ://github.com/electron/electron/blob/702352804239f58e5abcd0b96dbd748b68ab0278/spec/api-debugger-spec.js#L77

我的代码:

完整参考:https ://github.com/fijiwebdesign/electron-scope/blob/setBreakpoint/index.js#L51

这记录:Result: { breakpointId: './test.js:0:0', locations: [] }

但是,没有设置断点。我假设如果有那么位置将保存信息。

您可以在此处找到我要设置断点的分支: https ://github.com/fijiwebdesign/electron-scope/tree/setBreakpoint

0 投票
1 回答
1236 浏览

node.js - Nodejs --debug-brk 非常慢

我正在使用节点 v6.10.0 并试图弄清楚为什么我的 --debug-brk 速度如此之慢。如果没有这个标志(只有 --inspect 或 --debug),它几乎是瞬时的,尽管调试器仍然需要永远附加。

这一标志大大增加了加载时间。启用调试后,我的项目需要 50 多秒才能启动。

关于如何开始调试此问题的任何想法?

编辑:需要明确的是,它发生在两台计算机上,而 Hello World 不会发生。

编辑2:更多细节。我正在使用es6。我使用 webstorm 注销了正在发生的事情,发现阅读我所有的模块需要很长时间?也许这就是正在发生的事情?

有没有办法加快这个速度?加载所有的 require 语句需要 34 秒。

编辑 3:绝对是文件和要求语句。我将一些要求语句移动到仅在建立数据库连接后才加载。连接立即建立,但之后进程继续前进(再次持续几秒钟)。

有什么办法可以加快这个速度吗?

0 投票
2 回答
1692 浏览

node.js - 如何在 Jest 中使用节点调试 cli?

如何将简单的节点 cli/repl 调试器与 Jest 一起使用?

Jest 文档使用node-inspector,但从 Node 6.3 开始它已过时/不推荐使用。无论如何,我在节点 7.7.4 上尝试了推荐的命令:

但这只是挂在以下(假设等待节点检查器):

(node:13452) DeprecationWarning: node --debug is deprecated. Please use node --inspect instead. Debugger listening on 127.0.0.1:5858

我按照警告的规定添加了,但即使这样,Chrome DevTools 中的语句--inspect也不会停止执行。debugger

对于一个非常简单的用例来说,这似乎过于复杂。

0 投票
1 回答
3574 浏览

typescript - 如何让 VSCode 加载 NPM 依赖项的源映射?

我有一个用 TypeScript 编写的依赖项。依赖包括 NPM 包中的源映射和原始源。如果我在我的代码中设置断点然后单步执行依赖项,它会正确单步执行 TypeScript 而不是编译后的 JavaScript。但是,如果我在 TypeScript 代码中设置断点然后启动我的应用程序,VSCode 会说

断点被忽略,因为未找到生成的代码(源映射问题?)。

如果我在进入依赖项设置断点,一切正常。

我相信这里的问题是源映射是单向的,所以当我在 TypeScript 源文件中有一个断点时,它不知道它在 JavaScript 中的位置(通过节点调试器实际设置断点是必需的)。打开 JavaScript 文件后,VSCode 能够匹配这两者,现在断点可以工作了。

所以问题是,我怎样才能让我的 TS 断点从启动开始工作,而不必先进入文件?依赖项是很多文件,每次运行都必须重置断点是有问题的,特别是因为如果我花费的时间太长(超过几秒钟),我正在调试的特定问题会遇到套接字连接超时。

我想要的是一种告诉 TypeScript 的方法,“在启动调试器时解析这些 JavaScript 文件并同步源映射,以便断点正确匹配”。

我知道通用功能是可用的,因为我可以通过 TypeScript 文件中的断点成功调试依赖项本身(我是依赖项的维护者)。当它作为 NPM 模块加载时,似乎丢失了一些信息。

0 投票
1 回答
50 浏览

node.js - OSX 无法通过 `open` 命令打开 `chrome://` 协议

当我尝试编辑时

它说:文件 /chrome:/settings 不存在。

也无法在chrome中打开设置。似乎该open命令只能打开http && https协议

其实我想在Chrome Dev Tool中调试一些Node代码,每次运行

我必须将调试链接复制到 Chrome 中才能打开开发工具。我想自动打开它。但是 open 命令不能。

0 投票
1 回答
1628 浏览

javascript - 如何使用节点调试器查看 JavaScript Map 的内容?

我在 NodeJS 中使用控制台调试器并想观看 Map 对象。这是我想练习的简单测试脚本。

所以我以调试模式启动脚本并将观察者附加到data对象。

如您所见,调试器不显示存储在映射中的值。我认为这些是"text"关键的一部分,但我怎样才能添加一个观察者呢?

0 投票
1 回答
143 浏览

node.js - 停止 node-debug 打开新的浏览器窗口

命令:

每次运行时都会打开一个新的浏览器窗口。

我们如何阻止它每次都打开一个新窗口?我想重用现有的窗口!

0 投票
1 回答
728 浏览

node.js - 在 mac os 中使用 node-debugger 在 Atom 中找不到节点可执行文件

当我尝试运行调试器但出现错误时:

无法启动调试器。退出代码为 ENOENT,表示找不到节点可执行文件。尝试使用 node-debugger.nodePath 配置设置在 atom 配置文件中指定显式路径。

这是我的 config.cson 文件:

我试图将“nodePath”参数更改为“/usr/local/bin/node”,但仍然出现同样的错误。

我检查了以下链接: node executable could not be found in atom with node-debugger pkg

https://github.com/kiddkai/atom-node-debugger/issues/127

任何帮助将不胜感激。

0 投票
1 回答
187 浏览

javascript - 节点 catch() 错误不显示文件错误发生

我正在使用new --inspect节点中的参数来调试我的应用程序Chrome Developer Tools。我的承诺链末尾有一个非常基本catch的,但返回的错误并没有清楚地显示它们来自哪里。

我能看到错误源自哪个文件吗?

在此处输入图像描述

直接从控制台错误是:

0 投票
0 回答
246 浏览

node.js - Node 应用程序的调试错误

我最近克隆了一个我正在尝试调试的 Web 应用程序(Node.js/Express + React)。

我尝试使用节点调试器,也尝试使用我的 WebStorm 配置在调试模式下运行应用程序。

我在这两种情况下看到的错误如下:

这是我的脚本部分的一部分package.json

我不确定这个错误是什么以及如何让调试器运行。