Tag: debugging

Eclipse和Node.Jsdebugging

我学习了如何使用Eclipsedebuggingnode.js ,但是如何自动执行以下过程: 我按debug 它运行命令node –debug app.js 在Eclipse中我找不到这样做。 谢谢

toggleBreakpointsTargetFactory指定的ID已被注册

Node.jsdebugging不起作用,开箱即用。 在全新安装的Kepler SR1 Build id:20130919-0819上,在64位Windows 7上,我使用Eclipse Marketplace安装了Nodeclipse和Enide 0.6。 我在一个新的工作区中创build了一个新的Node-Express项目。 在Project Explorer中,我右键单击app.js并select“debugging为 – >节点应用程序”。 控制台显示: C:\ Program Files(x86)\ nodejs \ node.exe –debug-brk = 5858 F:\ workspace \ test \ app.js 但node.exe立即死亡,并popup一个对话框“启动委托…”,然后是一个错误对话框:“启动STANDALONE_V8”遇到了问题。 (我猜测node.exe已经退出,所以没有V8的实例供debugging器连接。) 日食错误日志显示一个错误: org.eclipse.debug.ui.toggleBreakpointsTargetFactory扩展未能加载断点切换目标,因为指定的ID已被注册。 指定的ID是:org.chromium.debug.ui.ChromiumToggleBreakpointTargetFactory 这同样的顺序完美地运行在同事的机器上。 我的机器上的这个断点目标ID是在哪里注册的,我该如何清除它? 还有什么我可以尝试?

我可以通过requiredebuggingnode-webkit中的模块吗?

node-webkit似乎以非常方便的方式支持debugging,因为您可以通过单击工具栏轻松打开devtools。 使用这种方法,我可以轻松地debuggingHTML页面内的任何JavaScript,即使我没有testing过,我也可以debugging其他通过传统浏览器加载的脚本, <script src="blabla.js"></script> 然而,这是node-webkit,我想利用节点的模块方法,所以我可以开发干净的独立模块,并通过需要直接从我的index.html,例如: <script> var myFunc = require("./myfunc"); myFunc(); </script> 这工作得很好。 问题是,我找不到debuggingmyfunc.js内容的方法。 我可以在debugging器中打开模块文件,并在那里设置一个断点,但不会停在这个断点上。 我也试着添加一个debugger; 声明在我的模块中,但这也行不通。 我也通过–remote-debugging-port=port尝试了远程debugging器,结果相同。 你知道node-webkit是否支持debugging模块吗? 如果是这样,怎么样? 否则,有一些有用的解决方法,我仍然可以使用模块,但可以使用?

节点检查器显示对象的“无属性”

在debugging场景中,我非常新,特别是在节点检测。 在安装了节点检查器之后,我使用–debug参数启动了简单的节点应用程序,并能够在localhost:8080 / debug?port = 5858上看到debugging视图。 当我让应用程序停在这个断点时: router.get('/people', function(req, res) { var num = 1; var str = 'rarf'; var obj = {x: 1, y: 2} console.log(req) // breakpoint }); 并用鼠标hover在标识符上,显示如下: 请求: 传入消息 – 没有属性 res: 服务器响应 – 没有属性 str:“rarf” 1: obj: 对象 – 无属性 为什么我看不到对象的属性?

Intellij Idea在debugging量angular器时挂起

我有类似于这个问题中提到的问题 。 我正在尝试在IntelliJ Idea中debugging量angular器testing。 在为Node.js设置configuration并按下运行所有testing运行正常后,但单击debugging后 ,我只看到: "C:\Program Files (x86)\JetBrains\IntelliJ IDEA 14.0\bin\runnerw.exe" "C:\Program Files\nodejs\node.exe" –debug-brk=65500 –nolazy –debug node_modules\protractor\lib\cli.js protractor.conf.js debugger listening on port 65500 [launcher] Running 2 instances of WebDriver 就这样,没有浏览器窗口打开,并在进程资源pipe理器中只有节点进程创build。 从我读的–debug-brk选项挂起执行的第一行 – 但在Ideadebugging器,它看起来像应用程序正在运行,而不是挂在断点。 使用的软件版本: Intellij Idea 14.0.2与NodeJs插件v 139.491 Node.js v0.10.35 量angular器v 1.6.0

“node-debug index.js”和“run node-inspector,then node –debug index.js”有什么区别?

我尝试使用节点检查器来debugging我的节点应用程序。 起初,我用 node-debug index.js 但检查员不会停止在debugger语句,也无法设置断点。 但是,如果我跑 node-inspector 然后用debugging标志运行节点 node –debug index.js 检查员的工作就像一个魅力。 那么这两者有什么区别呢? 我尝试阅读https://github.com/node-inspector/node-inspector/blob/master/bin/node-debug.js但坦率地不明白:O 非常感谢你! 我使用的是mac osx 10.10.2

如果path以“./”开头并且nocase:true – 错误或预期,Node glob不匹配任何东西?

复制说明: 从一个空目录开始,我创build了一个package.json : { "dependencies": { "glob": "7.1.1" } } 7.1.1是编辑这篇文章时的最新版本。 然后我运行npm install ,最后是node命令: > var glob = require('glob'); undefined > glob.sync('*'); [ 'node_modules', 'package.json' ] > glob.sync('./*'); [ './node_modules', './package.json' ] 这一切都是有道理的,但在这里它变得奇怪: > glob.sync('*', { nocase: true }); [ 'node_modules', 'package.json' ] > glob.sync('./*', { nocase: true }); [] 我认为nocase只应该影响大小写敏感性。 我无法看到文档中的任何内容,也找不到任何Google结果来解释此行为。 这是一个错误还是这样做是有道理的,我目前不明白?

在未被捕获的错误上,node.js mocha回退到debugging器

有没有一种方法在node.js(理想的摩卡也)模拟python的行为 python -m pdb setup.py test 如果程序抛出一个未捕获的exception,那么这将回退到debugging接口。 编辑 @robertklep提出了无证的breakOnException命令,看起来非常棒,但在实践中并没有那么多: test.js var hello = {}; function testFunc () { anotherFunct(); } function anotherFunct () { var b = hello.unfound; } testFunc(); 然后它冻结在: $ node debug test.js < Debugger listening on port 5858 connecting to port 5858… ok break in test.js:1 > 1 var hello = {}; […]

我该如何debugging一个通过命令行(cli)启动的节点应用程序,比如永远或是主pipe?

我熟悉debugging我自己的节点应用程序(通常使用节点检查器)。 今天我想debugging别人的程序。 我试图跟supervisor追查一个问题。 所以自然我只是添加一个–debug (或debug-brk )的命令调用,但它传递给它正在监督的代码。 我已经尝试添加到主pipejs文件的debugger行,但没有奏效(可能是因为当时没有debugging器)。 这里有一些竞争 – 我需要启动debugging器,并在启动之后,但在它从命令行处理其参数之前,将其附加到监控程序进程。 我真正想在这里做的是停止supervisor ,并在处理其命令行参数之前进行debugging。 我怎样才能做到这一点?

什么是正确的过程与节点检查器debugging?

我在节点版本v5.0.0。 我安装了节点检查器版本:v0.12.5。 我做了什么: 1。 我开始端口8090上的节点insepctor(由于8080由nginx采取) node-insepctor –web-port=8090 第2位。 我开始debugging我的js文件 node –debug-brk app.js 3。 我在浏览器中打开url http://127.0.0.1:8090/?ws=127.0.0.1:8090&port=5858 它第一次工作,它会在第一线完美的打破。 但是,当我find并修复了我的代码中的问题,我想再次debugging,它只是不能再工作。 我试过的: 第一 。 我看到,在控制台中,当我node –debug-brk app.js仍然在那里时打印下面这行: Debugger listening on port 5858 所以我刷新页面,代码显示,但它只是没有得到执行,所以没有达到中断点。 第二 。 我通过CTRL-c停止app.jsdebugging过程,然后重新启动debuggingapp.js, Debugger listening on port 5858再次显示。 所以我再次打开url。 同上,代码显示,但没有任何反应。 第三 。 我停止节点检查器进程和app.jsdebugging过程,并重新启动它们并打开url。 这一次,它的作品! 有没有一个简单的方法来debugging一个js程序不止一次? 每次我需要杀死节点检查器进程和debuggingjs进程,使其重新工作? 或者我在这里做错了什么? 请帮忙!