Tag: debugging

如何使用完整的urldebuggingnodejs?

我已经安装了node-inspector并且expression了,并成功地通过url http:// {localhost}:8080 / debug?port = 5858开始debugging。 但是我正在开发一个静态文件服务器,并且想要validation来自http:// {localhost}:8080 / javascript / abc.js的代码是如何运行的。 我怎样才能做到这一点? 什么是在这种情况下正确的url?

NodeJSdebugging器中显示更多行

有一个文件(让我们称之为script.js )与以下内容: console.log("Hello World!"); (所以,一行与一个console.log上) 运行node script.js它输出"Hello World!" 。 问题是当我运行node debug script.js 。 我得到以下输出: $ node debug script.js < debugger listening on port 5858 connecting… ok break in script.js:1 1 console.log("Hello World!"); 2 3 }); debug> 为什么最后两行出现? 它看起来像一个错误,但也许有另一种解释?

节点检查器/铬实例显示没有源文件,没有调用堆栈,什么都没有

尝试让节点检查器实际debugging一个非常简单的示例服务器应用程序。 我可以从命令行( node-inspector simple.js )启动debugging器就好了,它给了我标准的Node Inspector v0.8.3 Visit http://127.0.0.1:8080/debug?port=5858 to start debugging消息开始后。 我在Chrome浏览器中查看该地址,并显示预期的debugging界面。 但是,没有数据。 绝对没有数据在任何地方 – 源文件,调用堆栈,断点,控制台。 我打F8。 它取消保留 – 在任何地方仍然没有数据。 我在启动过程中尝试了–debug-brk选项 – 相同的结果 – debugging器中的任何地方都没有数据。 我错过了什么? 节点检查器:v0.8.3 nodejs:v0.10.35 铬(铬):版本39.0.2171.65build立在Ubuntu 14.04上,在LinuxMint 17上运行 这是我试图debugging的代码(文件名是simple.js )。 它通过nodejs simple.js运行正常 var http = require('http'); function func(arg1, arg2) { var result = 'Hello from func. '; result += arg1; result […]

在Docker容器中打开端口

我试图在一个Docker容器中以debugging模式运行node.js应用程序,并将另一个容器中的debugging器附加到在第一个容器中运行的应用程序中。 因此,我试图打开端口5858到外面的世界。 但是,当我–link另一个容器连接到第一个容器(带有别名firstContainer ),并运行nmap -p 5858 firstContainer ,我发现5858端口是closures的。 第一个容器告诉我,node.js应用程序正在监听端口5858,我已经暴露了Dockerfile中的端口,并且还将端口绑定到了我机器上相应的端口(尽pipe我不是确定这是必要的)。 当我在端口8080上运行nmap时,一切都成功了。 如何打开Docker容器上的端口5858,以便可以将debugging器连接到此端口? Dockerfile是: FROM openshift/base-centos7 # This image provides a Node.JS environment you can use to run your Node.JS # applications. MAINTAINER SoftwareCollections.org <sclorg@redhat.com> EXPOSE 8080 5858 ENV NODEJS_VERSION 0.10 LABEL io.k8s.description="Platform for building and running Node.js 0.10 applications" \ io.k8s.display-name="Node.js 0.10" \ io.openshift.expose-services="8080:http" \ io.openshift.tags="builder,nodejs,nodejs010" […]

节点v5。* TypeError:不能将undefined或null转换为debugging对象

我试图debugging我的Node.js代码,我有一个奇怪的错误: TypeError:无法将undefined或null转换为对象 但是,如果我试图把一些代码在if-else或其他的东西,它工作正常。 我试图简单我的代码是这样的: var a = { foo:"something" }; var b = 5; 当我debugging它,并设置断点上var b = 5; ,并在控制台中尝试访问a.foo它会引发错误: ‌TypeError: Cannot convert undefined or null to object at t.evaluate (eval at <anonymous> (c:\projects\main\TestProject\test.js:1:11), <anonymous>:171:45) at DebugCommandProcessor.r.processDebugJSONRequest (eval at <anonymous> (c:\projects\main\TestProject\test.js:1:11), <anonymous>:383:15) at Object.<anonymous> (c:\projects\main\TestProject\test.js:2:1) at Module._compile (module.js:425:26) at Object.Module._extensions..js (module.js:432:10) at Module.load (module.js:356:32) at Function.Module._load […]

无法debugging节点subprocess(使用节点本机debugging器)

我试图debugging节点subprocess,使用本地节点debugging器。 例如,看这个回购 。 我尝试了所有的选项王,根据: debug1 , debug1 , debug3 (和我在网上find很多其他的参考)。 非这些选项为我工作.. 这是我的示例代码: index.js: const spawn = require('child_process').spawn; const path = require('path'); const ls = spawn('node', [path.resolve('./child.js')], {execArgv: '–debug-brk=4545'}); ls.stdout.on('data', (data) => { console.log(`stdout: ${data}`); }); ls.stderr.on('data', (data) => { console.log(`stderr: ${data}`); }); ls.on('close', (code) => { console.log(`child process exited with code ${code}`); }); child.js: debugger; […]

用System.js导入Angular 2应用程序中的visionmedia debug以及如何logging消息?

我正在与Angular 2前端开发一个MEAN栈应用程序。 我已经成功地在快速应用程序中使用debug 。 但是我无法干净地导入debuggingapp.components.ts或main.module.ts 。 任何想法如何进行? <script src="/node_modules/debug/debug.js"></script>结果出错: Uncaught ReferenceError: module is not defined <script>System.import('./node_modules/debug/debug.js');</script>不好: zone.js:101 GET http://localhost:8002/ms.js 404 (Not Found)一些依赖脚本无法加载。 import { debug } from '../../../node_modules/debug/debug.js'; 里面的任何应用程序文件也给出错误: zone.js:101 GET http://localhost:8002/ms.js 404 (Not Found); (index):25 Error: Error: XHR error (404 Not Found) loading http://localhost:8002/ms.js(…) zone.js:101 GET http://localhost:8002/ms.js 404 (Not Found); (index):25 Error: Error: XHR […]

Azure函数:如何在WebStorm中进行debugging?

azure-functions-cli 提供了一种启动debugging的方法 ,但是这些说明似乎是特定于Visual Studio的。 我尝试在WebStorm中设置一个运行configuration文件来指向JavaScript文件: \node_modules\azure-functions-cli\lib\main.js 然后传递应用程序参数: run myFunctionName –debug 这成功地运行了Azure工具的function,但WebStorm都尝试设置一个debugging端口; 当Azure窗口打开时,它会设置自己的debugging端口。 从Webstorm: C:\Program Files (x86)\JetBrains\WebStorm 2016.2.3\bin\runnerw.exe" "C:\Program Files\nodejs\node.exe" –debug-brk=60168 –expose_debug_as=v8debug C:\Users\username\AppData\Roaming\npm\node_modules\azure-functions-cli\lib\main.js run myfunction –debug Debugger listening on [::]:60168 System.Net.Http.HttpRequestException: An error occurred while sending the request. —> System.Net.WebException: 同样,Azure-cli说它打开一个debugging端口,但它们不匹配。 因此,调用函数时会忽略断点(尽pipe它成功运行)。 任何人都知道如何正确configuration这个能够使用WebStorm进行debugging?

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

我在节点中使用new –inspect参数来使用Chrome Developer Tools来debugging我的应用程序。 在我的承诺链的最后,我有一个非常基本的问题,但是返回的错误没有清楚地显示它们来自哪里。 我能看到错误发生在哪个文件? leagues(app).getLeagues(passData) .then(teamsApi.getNorsemenTeams) .then(filterBarGamesIndex) .then(gamesApi.getNorseGames) .then(gamesApi.getFilteredTeams) .then(function (passData) { res.render('games', { title: 'Results', passData: passData, type: req.originalUrl.split('/')[2] }) }) .catch(function(err) { console.error(err); //Line 35 }); } 而直接从控制台的错误是: TypeError: Cannot read property 'Intermediate_Division_2' of undefined at /var/www/beta.norsemanfc.co.uk/app/controllers/filterBar/fixturesIndex.js:27:62 at Array.filter (native) at module.exports (/var/www/beta.norsemanfc.co.uk/app/controllers/filterBar/fixturesIndex.js:25:42) at process._tickCallback (internal/process/next_tick.js:103:7)

Node.js堆栈跟踪不包括用户代码

在debuggingNode.js代码时,我经常遇到不包含我的程序代码的调用堆栈,只有node_modules /非用户代码,尽pipe当前的执行行在我的代码中。 这违背了调用堆栈的目的,通过我的应用程序代码来查看执行path。 为什么我的源文件没有显示在调用堆栈中?