Tag: debugging

使用节点检查器debuggingNode / Express RESTful API

我已经看到很多关于debuggingNode / Express应用程序的问题,但是,它似乎是一个节点的Web应用程序,而不是一个RESTful服务器。 我已经构build了一个简单的服务器,并使用命令node server.js启动服务器时,它工作得很好。 我可以使用Postman或其他一些工具来调用GET / POST请求。 在安装node-inspector模块之后,当我使用命令node-debug server.js启动一个node-inspector debug时,它会显示一个网页http://127.0.0.1:8080/?ws=127.0.0.1:8080&port=5858与督察窗口。 然后,我使用邮递员再次调用请求(它已经成功调用了),但是它显示了一个404 error : Cannot GET /api/v1/user/login 。 如何能够请求debugging服务器?

如何启用没有环境variables的NODE_DEBUG?

我试图在AWS Lambda环境(Node.js 4.3)中运行时,在node.js https库环境中debugging看起来是套接字错误的东西。 这个问题只发生在高度间歇性的情况下,而且只有在高负荷下。 我的团队已经能够在负载testing中重现问题,我们希望启用来自https模块的debugging日志logging。 我在节点文档中发现,通过设置NODE_DEBUG=https环境variables,可以启用debugging日志logging。 但是,我不相信可以设置环境variables: 如何在AWS Lambda上使用环境variables? 。 另外,我没有能力更改Lambda用来调用我的函数的命令行。 是否有另外一种方法来创build与设置NODE_DEBUG相同的debugging日志logging?

为什么Node.js不能捕捉到我的错误?

var api_friends_helper = require('./helper.js'); try{ api_friends_helper.do_stuff(function(result){ console.log('success'); }; }catch(err){ console.log('caught error'); //this doesn't hit! } 而在do_stuff里面,我有: function do_stuff(){ //If I put the throw here, it will catch it! insert_data('abc',function(){ throw new Error('haha'); }); } 它怎么从来没有logging“发现错误”? 相反,它将堆栈跟踪和错误对象打印到屏幕上: { stack: [Getter/Setter], arguments: undefined, type: undefined, message: 'haha' } Error: haha at /home/abc/kj/src/api/friends/helper.js:18:23 at /home/abc/kj/src/api/friends/db.js:44:13 at Query.<anonymous> (/home/abc/kj/src/node_modules/mysql/lib/client.js:108:11) […]

如何将parameter passing给nodemon(或node-supervisor)中的可执行文件?

节点可以像这样使用debugging参数运行 $ node –debug src/file.js 我也可以像这样通过咖啡脚本二进制传递参数 $ coffee –nodejs –debug src/file.coffee 哪个工作。 但是当涉及主pipe时事情会变得更加困难。 运行咖啡脚本是没有问题的: $ supervisor -w src src/file.coffee 但是我想debugging我和主pipe一起运行的咖啡脚本。 如何通过主pipe发送–debug等参数? 我试着将可执行文件设置为像这样的参数的string: $ supervisor -w src -x "coffee –nodejs –debug" src/server.coffee 其中产生了一个无限重复的错误信息说 DEBUG:用'coffee –nodejs –debug src / server.coffee'开始subprocess DEBUG:execvp():没有这样的文件或目录 这很奇怪,因为在terminal中运行coffee –nodejs –debug src/server.coffee工作。 那么我怎么能通过主pipe发表意见 ? 编辑:我想扩大我的问题,提到我现在也尝试使用nodemon 。 看起来nodemon被认为比node-supervisor更可取,所以我会接受任何解释如何通过nodemon启动咖啡脚本来传递–debug到节点进程 编辑:这是来自nodemon的输出。 很明显,这些论点不是以相同的顺序传递的:-( $ nodemon -w src -x咖啡–nodejs […]

你可以在.coffee处理程序中使用Node Inspector吗?

如果使用JavaScript或编译的Coffee( coffee -c -m script.coffee )编写脚本,使用node-inspectordebugging节点应用程序非常简单。 但是,使用coffeescript require处理程序时: require('coffee-script/register'); require('lib/component.coffee'); 在一个脚本我试图debugging使用node-debug ,我得到: (function (exports, require, module, __filename, __dirname) { # ^ SyntaxError: Unexpected token ILLEGAL at Module._compile (module.js:439:25) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) … 正如我require的文件。 我正在尝试做什么? 我有几个CoffeeScript文件,我宁愿不必编译每次我想testing。

Electron中的错误消息和控制台日志?

如何在开发过程中查看Electron中的错误消息和控制台日志? 另外,是否可以将日志直接写入文件? 编辑:有点像Chrome开发工具显示的错误和控制台日志: 除了在电子而不是铬。

Nodejsdebugging生产中的错误

我有一个nodejs脚本在生产中运行 我不可能(千次)得到像这样的错误: TypeError: value is out of bounds at checkInt (buffer.js:1009:11) at Buffer.writeUInt16LE (buffer.js:1067:5) at Object.foo.bar (/fake/path/name.js:123:1); at Object.foo.bar2 (/fake/path/name2.js:123:1); at Object.foo.bar3 (/fake/path/name3.js:123:1); 导致生产服务器崩溃… 太棒了,我有一个堆栈跟踪! 但是我想知道当前数据是针对每个呼叫还是所有数据? 什么是一些很棒的工具或代码,用于生产代码的错误日志logging(使用当前数据)?

如何在节点中debugging基于承诺的代码?

我使用Cujo伟大的库当我的Node项目提供Promises / A +实现,虽然这个问题不是特定于节点的。 一般来说,什么时候是好的,它可以让我编写更易于维护的代码。 但是,当我的callback意外失败(访问一个nullvariables的属性等)时,这些exception被有效地吞噬了,这似乎是由Promises / A +规范指定的。 不幸的是,这意味着我没有得到任何关于错误的反馈 (除了在那一刻执行的callback停止)。 没有错误types或消息,没有行号。 为了显示: // hypothetical asynchronous database query database.query(queryDetails).then(function(result) { var silly = 3.141592654; silly(); // TypeError: number is not a function! process(result); // this code is silently never executed }); 我可以想到一些(不可接受的)方法来解决这个问题: 为每次调用提供失败callback(将原因/exception转储到控制台) 将所有callback机构包装在试用版中 乱丢“地标日志”的代码库ala console.log('I got here 123') 我只是做错了吗? 当然,我并不是唯一一个发现基于promise的代码差的可debugging性。 有没有一个明显的解决scheme,我错过了?

如何在debugging器界面中将东西馈送到脚本的stdin中?

我跑了: node debug f.js 现在我有一个: debug> 提示。 我怎么能切换我input到terminal的东西之间被解释为debugging命令,它被馈送到脚本的stdin?

节点检查器不适用于节点6.0.0

我已经从4.2.2更新了我的项目到Node 6.0.0。 我发现节点检查器不能工作,并在一段时间后在控制台日志中导致“内部错误:非法访问”(对于每个新的debugging会话都不相同)。 当我切换回到4.2.2一切正常。 如何configuration节点检查器使其与节点6.0.0一起工作?