展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 编程开发 > ubuntu nodejs如何进行代码调试

ubuntu nodejs如何进行代码调试

Ubuntu 下 Node.js 调试实用指南 在 Ubuntu 环境下进行 Node.js 开发,高效的调试能力是提升效率的关键。今天,我们就来梳理一下那些真正实用、能帮你快速定位问题的调试方法。 一 内置调试与 Chrome DevTools Node.js 自带了一套强大的调试协议,而 Chr

本文目录

    Ubuntu 下 Node.js 调试实用指南

    ubuntu nodejs如何进行代码调试

    在 Ubuntu 环境下进行 Node.js 开发,高效的调试能力是提升效率的关键。今天,我们就来梳理一下那些真正实用、能帮你快速定位问题的调试方法。

    一 内置调试与 Chrome DevTools

    Node.js 自带了一套强大的调试协议,而 Chrome DevTools 则是它最直观的搭档。用好这对组合,大部分调试场景都能轻松应对。

    • 启动方式
      • 普通启动:执行命令 node --inspect app.js。调试器会在默认的 9229 端口开始监听,程序会继续运行,直到遇到你设置的断点才会停下。
      • 首行暂停:如果你希望从程序入口就开始一步步跟踪,那就用 node --inspect-brk app.js。这个命令会让程序在第一行代码执行前就暂停,方便你从头开始。
    • 连接与断点
      • 接下来,打开 Chrome 浏览器,在地址栏输入 chrome://inspect。在 “Remote Target” 区域,你应该能看到你的 Node 进程,点击旁边的 “inspect” 按钮,一个熟悉的 DevTools 窗口就会弹出来。
      • 在 Sources 面板里,你可以直接点击行号来设置断点。单步执行、观察表达式、查看调用栈和作用域变量,这些功能一应俱全,和调试前端 Ja vaScript 的体验几乎一样。
    • 命令行辅助
      • 除了在 DevTools 里点选,你还可以在代码中直接插入 debugger; 语句。当程序以调试模式运行到这一行时,会自动中断。
      • 如果习惯纯命令行操作,可以使用旧式的 node inspect app.js 命令。常用的调试指令包括:cont(继续执行)、next(执行下一行)、step(进入函数)、out(跳出函数)以及 repl(进入交互式环境)。

    二 使用 Visual Studio Code 调试

    对于习惯在 IDE 里完成所有工作的开发者来说,Visual Studio Code 提供了无缝集成的调试体验,无需在浏览器和编辑器之间来回切换。

    • 安装与配置
      • 用 VS Code 打开你的项目,点击左侧活动栏的 “Run and Debug” 图标,然后点击 “create a launch.json file”,选择 Node.js 环境即可。
      • 一个最常用的配置示例(位于 .vscode/launch.json)是这样的:
        {
          “version”: “0.2.0”,
          “configurations”: [{
            “type”: “node”,
            “request”: “launch”,
            “name”: “Launch Program”,
            “program”: “${workspaceFolder}/app.js”,
            “skipFiles”: [“/”]
          }]
        }
    • 调试操作
      • 配置好后,直接在代码行号的左侧点击就能设置断点。按下 F5 键或者点击绿色的运行按钮,调试就开始了。
      • VS Code 的调试面板提供了完整的能力:断点管理、单步执行、变量观察、调用栈查看、作用域分析以及一个集成的控制台,所有信息一目了然。

    三 附加场景与工具

    实际开发中,总有些特殊场景。比如程序已经跑起来了,或者你只想看特定模块的日志。这时候,下面这些工具和技巧就派上用场了。

    • 附加到已运行进程
      • 如果进程已经用 --inspect 参数启动了,你依然可以“附加上去”。在 VS Code 中,可以使用 “Attach to Process” 配置来连接对应的端口(默认 9229)。命令行里,则可以用 node inspect -p 来附加到指定进程。
    • 选择性日志
      • 满屏的 console.log 让人头疼?试试 debug 模块。通过命名空间来管理日志输出,既清晰又灵活。
        const debug = require(‘debug’)(‘myapp:server’);
        debug(‘server starting on port 3000’);
      • 启动时,通过环境变量 DEBUG=myapp:* node app.js 来开启所有日志。如果只想看某个子模块,比如 myapp:server,那就把星号换成具体的命名空间。
    • 辅助工具
      • nodemon:这个工具值得单独一提。它会监听文件变化并自动重启应用,与调试器配合起来,能极大提升代码修改和测试的迭代效率。

    四 常见问题与排查

    方法虽好,偶尔也会遇到些小麻烦。这里有几个常见问题的排查思路,帮你快速扫清障碍。

    • 看不到 Remote Target
      • 首先确认启动命令确实包含了 --inspect 或 --inspect-brk。然后检查默认的 9229 端口是否被其他进程占用。如果一切无误,可以尝试在 chrome://inspect 页面的 “Configure” 按钮下,手动添加 localhost:9229 地址。
    • 端口被占用
      • 端口冲突很常见。解决起来也简单,换一个端口启动就行:node --inspect=9228 app.js。别忘了,在 Chrome 的调试页面或者 VS Code 的配置里,也要把连接端口相应地改为 9228。
    • 无法命中断点
      • 这可能是最让人困惑的情况。首先,可以尝试用 --inspect-brk 启动,确保程序能在入口处暂停,这能验证调试连接本身是否正常。
      • 如果还不行,就要警惕了:你的源代码文件路径,是不是被构建工具(比如 Webpack 等打包器)改变了?一个有效的办法是,在 Chrome DevTools 的 Sources 面板中,通过 “Filesystem” 功能将你的本地工作区添加进去,建立正确的源文件映射,然后再设置断点。

    说到底,调试的本质是清晰地观察和控制程序状态。无论是借助强大的 Chrome DevTools,还是依赖高度集成的 VS Code,亦或是搭配上 debug 模块和 nodemon 这样的效率工具,核心目的只有一个:让你更快地找到问题所在,把时间花在创造上,而不是寻找 Bug 上。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Ubuntu
    相关文章 更多
    精品专题 更多
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    IOS软件

    正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

    AI

    正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw macOS版
    AionClaw macOS版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy macOS版
    Loomy macOS版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    AirBuddy 3 macOS版
    AirBuddy 3 macOS版

    AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。

    AirServer macOS版
    AirServer macOS版

    AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。

    AnyDesk macOS版
    AnyDesk macOS版

    AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。

    讯飞绘文 网页版
    讯飞绘文 网页版

    讯飞绘文网页版是科大讯飞推出的AI图文创作与内容运营工具,覆盖热点选题、文章生成、稿件校对、智能配图、排版发布和数据复盘等环节,适合自媒体创作者及内容团队在线使用。

    Maya(Autodesk Maya) Windows版
    Maya(Autodesk Maya) Windows版

    Autodesk Maya 是面向影视、电视、动画和游戏行业的专业三维制作软件,集多边形与 NURBS 建模、角色绑定、关键帧和动作捕捉动画、Bifrost 特效模拟、材质开发及 Arnold 渲染于一体,

    Aperty Windows版
    Aperty Windows版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw Windows版
    AionClaw Windows版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy Windows版
    Loomy Windows版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。