溫馨提示×

Debian上Node.js的調試技巧有哪些

小樊
49
2025-08-01 14:49:13
欄目: 編程語言

在Debian上調試Node.js應用程序有多種方法,以下是一些常用的調試技巧:

使用 debug 包進行調試

  • 安裝 debug
    npm install debug
    
  • 在代碼中引入并使用 debug 模塊
    const debug = require('debug')('myapp');
    debug('Hello, debug!');
    
  • 動態開啟調試: 通過設置 DEBUG 環境變量來控制調試器的輸出:
    DEBUG=myapp node app.js
    
  • 使用命名空間
    const debug = require('debug');
    const serverDebug = debug.extend('myapp:server');
    const databaseDebug = debug.extend('myapp:database');
    serverDebug('Hello, server!');
    databaseDebug('Hello, database!');
    
  • 自定義輸出格式
    DEBUG_COLORS=true DEBUG_FD=3 node app.js
    

使用 Visual Studio Code (VSCode) 進行調試

  • 配置 launch.json 文件: 在 .vscode 目錄下創建 launch.json 文件,配置調試任務:
    {
      "version": "0.2.0",
      "configurations": [
        {
          "name": "Debug Node.js",
          "type": "node",
          "request": "launch",
          "program": "${workspaceFolder}/app.js"
        }
      ]
    }
    
  • 啟動調試: 在VSCode中按 F5 或點擊左側調試圖標,選擇配置的任務開始調試。
  • 使用自動附加: 在設置中啟用 javascript: Auto Attach,這樣可以在不切換終端的情況下直接調試Node.js進程。

使用 Chrome DevTools 調試

  • 啟動 Node.js 進程時使用 --inspect-brk 標志
    node server.js --inspect-brk
    
  • 在 Chrome 瀏覽器中打開 DevTools: 訪問 chrome://inspect,點擊“為Node打開專用 DevTools”,然后點擊“添加連接”并匹配Node.js監聽的端口。
  • 調試異常和設置斷點: 在DevTools中,可以使用調試工具欄中的按鈕暫停執行,檢查變量值,設置斷點等。

使用 PM2 進行進程管理(適用于生產環境)

  • 安裝 PM2
    sudo npm install pm2 -g
    
  • 配置 PM2 服務: 創建 node.service 文件并放置在 /etc/systemd/system/ 目錄下:
    [Unit]
    Description=My super Node.js app
    
    [Service]
    WorkingDirectory=/home/root/Heroku/
    ExecStart=/usr/bin/node /home/root/Heroku/server.js
    Restart=always
    RestartSec=500
    StandardOutput=syslog
    StandardError=syslog
    SyslogIdentifier=nodejs
    User=root
    Group=root
    Environment=NODE_ENV=production
    
    [Install]
    WantedBy=multi-user.target
    
  • 啟動服務
    sudo systemctl daemon-reloadsudo systemctl start node
    sudo systemctl enable node
    

通過以上方法,你可以在Debian系統中有效地調試Node.js應用程序。選擇適合你工作流程的方法進行調試。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女