NodeJs代码调试(inspector+chrome) 实现谷歌浏览器调试后台nodejs代码


如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033

文章目录

  • NodeJs代码调试(inspector+chrome) 实现谷歌浏览器调试后台nodejs代码
    • 1.编写server.js文件
    • 2.开启调试
注:nodejs6.3版本以后已经内置的调试模块,不需要再安装node-inspector等等。直接node --inspect-brk demo.js即可,参照:https://github.com/node-inspector/node-inspector/issues/1041

环境:
node 10、 谷歌浏览器

1.编写server.js文件

'use strict';
var http = require('http');
var port = process.env.PORT || 1337;http.createServer(function (req, res) {res.writeHead(200, { 'Content-Type': 'text/plain' });res.end('Hello World\n');
}).listen(port);

2.开启调试

1)使用 node --inspect-brk=0.0.0.0:9876 server.js 开启调试

2)打开谷歌浏览器,输入地址:http://localhost:9876/json/list

[{"description": "node.js instance","devtoolsFrontendUrl": "devtools://devtools/bundled/js_app.html?experiments=true&v8only=true&ws=localhost:9876/f28707eb-bde0-46a9-8f3d-ad1c34d7bc4f","devtoolsFrontendUrlCompat": "devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=localhost:9876/f28707eb-bde0-46a9-8f3d-ad1c34d7bc4f","faviconUrl": "https://nodejs.org/static/images/favicons/favicon.ico","id": "f28707eb-bde0-46a9-8f3d-ad1c34d7bc4f","title": "index.js","type": "node","url": "file://D:_git_node-webdev_code_1.webFramework_1.express_1.express-http-https_index.js","webSocketDebuggerUrl": "ws://localhost:9876/f28707eb-bde0-46a9-8f3d-ad1c34d7bc4f"}
]

注:其中9229为node后台调试的默认端口,这个地址可以查询到可用的调试服务信息。这里设置的端口为9876


接口api(Get):

  • /json/protocol 获取当前 chrome 支持的协议,协议为 json 格式
  • /json/list 获取可调试的目标列表
  • /json/new 创建新的 tab 页
  • /json/activate/:id 根据 id 激活 tab 页
  • /json/close/:id 根据 id 关闭 tab 页
  • /json/version 获取浏览器/协议/v8/webkit 版本

3)将上一步中的devtoolsFrontendUrl地址粘贴到浏览器中即可

devtools://devtools/bundled/js_app.html?experiments=true&v8only=true&ws=localhost:9876/f28707eb-bde0-46a9-8f3d-ad1c34d7bc4f

4)浏览器新开窗口输入:http://localhost:1337/,可看到调试效果


window.open("devtools://devtools/bundled/js_app.html?experiments=true&v8only=true&ws=localhost:9876/f28707eb-bde0-46a9-8f3d-ad1c34d7bc4f")VM105:1 Not allowed to load local resource: devtools://devtools/bundled/js_app.html?experiments=true&v8only=true&ws=localhost:9876/f28707eb-bde0-46a9-8f3d-ad1c34d7bc4f
window.open("file:///C:/002.jpg");Not allowed to load local resource: file:///C:/002.jpg
Unchecked runtime.lastError: Cannot navigate to a devtools:// page without either the devtools or debugger permission.

手动开启Node远程调试

打开页面 chrome://inspect

点击 Open dedicated DevTools for Node

Add connection 处添加调试地址即可完成


原因:chrome中有安全限制,不让通过超链接直接访问本地文件

解决:

  1. 开启chrome flag解决安全问题
  2. 创建chrome插件,插件使用底层api访问devtool://解决该问题
    修改代码
    https://github.com/tksugimoto/chrome-extension_open-local-file-link

开发chrome插件的步骤:

  1. 使用什么开发工具
  2. 如何编写
  3. 如何打包
    浏览器的ctx文件可以用chrome的【扩展程序-打包扩展程序】来打包,但是ctx必须上传chrome应用商店才能使用,否则需要使用【扩展程序-加载已解压的扩展程序】才能正常使用

可在 Chrome 中使用的扩展程序
为了在您浏览网页时确保您的安全,Chrome 只允许使用 Chrome 网上应用店中发布的扩展程序。


License

License under CC BY-NC-ND 4.0: 署名-非商业使用-禁止演绎


Refrence:

  1. http://nodejs.cn/api/debugger.html
  2. https://chromedevtools.github.io/devtools-protocol/

NodeJs代码调试(inspector+chrome) 实现谷歌浏览器调试后台nodejs代码相关推荐

  1. 微信X5调试,可以在谷歌浏览器调试

    https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Web_Developer_Tools.html 以上为微信官方文档 以下为谷 ...

  2. 一串最简单的JavaScript代码,在Chrome开发者工具调试器里触发VM8标签的出现

    代码如下: <html> <script>var code = "{ /* Jerry test generation */; debugger; console.l ...

  3. 如何去调试前端JS代码?以Chrome谷歌浏览器为例

    前端调试是所有前端开发者绕不过去的一个环节,很多初学者却不知道该如何去做,今天小千就来以Chrome谷歌浏览器为例,教大家如何去调试前端JS代码. 为什么要调试? 程序就是函数堆砌起来的,程序的运行就 ...

  4. chrome浏览器断点调试js代码 和 idea断点调试java代码

    文章目录 chrome调试js代码 idea调试java代码 chrome调试js代码 Chrome调试快捷键总结 快捷键 功能 F10 (step over) 单步调试.步过,遇到函数时也当成一个语 ...

  5. Google Chrome(谷歌浏览器)js调试

    Chrome的调试功能十分强大,这里仅简单记录一些常用的 JS 调试,日常所需必备. 1.设置断点 可以通过以下两种方式来设置断点: (1)F12 调出控制台后,在 Source 面板设置.找到要调试 ...

  6. 使用chrome开发者工具调试JavaScript代码的三种常用方法

    对 JS 程序的调试,除了在 JS 程序中使用 alert().console.log() 方法跟踪和调试代码外,开发人员也会经常使用一些调试工具.最常用的 JS 调试工具就是一些主流的浏览器的调试工 ...

  7. 如何使用edge浏览器或chrome谷歌浏览器调试手机端网页(微信网页、浏览器皆可)

    如何使用edge浏览器或chrome谷歌浏览器调试手机端网页(微信网页.浏览器皆可) 1.打开开发者选项中的USB调试功能(狂点"关于手机"中的版本号,然后返回到系统设置中就能看到 ...

  8. Chrome Devtools 高级调试指南

    From ( Chrome Devtools 高级调试指南 ):https://juejin.cn/post/6844903961472974855 chrome devtools 设置黑色主题:ht ...

  9. 谷歌怎么调试html,谷歌浏览器调试js的步骤_谷歌浏览器怎样调试javascript-win7之家...

    对于一些开发人员可能经常要进行javascript调试,但是不同浏览器的调试方法可能不大一样,有用户在安装谷歌浏览器之后,想要调试javascript却不知道要怎么下手,为此,本文就给大家讲述一下谷歌 ...

最新文章

  1. 按覆盖地理范围的不同计算机网络可分为,按网络覆盖的地理范围进行分类,计算机网络可以分为:...
  2. python从数分到数编(part1)--基础
  3. python统计分析---6.主成分分析
  4. JS-概述-基本语法-变量-数据类型
  5. 质量标准、质量策略和质量责任的概念解释
  6. [MFC]Sqlite问题小记
  7. BSD/MIT/Apache许可证印象尚可
  8. 【java笔记】网络编程:文件上传案例
  9. 利用Excel绘制超好看的直方图与正态分布曲线
  10. 会matlab的简历怎么写,算法工程师简历项目经验填写样本
  11. 为什么阿里会选择 Flink 作为新一代流式计算引擎?
  12. 学生宿舍管理系统毕业设计(python)
  13. 小红书运营模式是怎样的?弄清楚小红书底层逻辑
  14. 1.mac解除端口占用
  15. 【算法】剑指offer - JZ76 删除链表中重复的结点
  16. Geometry点线面的初始化
  17. FFMPEG之H.264视频解码
  18. 【树】二叉树的两种非递归遍历方法
  19. 借用女性形象营销,微众银行为获客搞“擦边”,背后有何猫腻?
  20. powershell使用总结

热门文章

  1. liunx系统的常用命令【实用】
  2. 工业发酵消泡剂有何不一样的效果?
  3. 【模拟】Thanks, TuSimple!
  4. 《Java黑皮书基础篇第10版》 第7章【习题】
  5. backdoor Authorized Persons Only (修改cookie)
  6. android自定义button样式【转】
  7. BASE64加密解密---前端 AES 加密解密
  8. JAVA实验二家中的电视_类:实验2家中的电视
  9. 全网最全manim教程,可直接在线修改编译
  10. 计算机制作乘法表格,表格求和乘法【操作步骤】