Để gỡ lỗi ứng dụng Node.js hiệu quả trong VS Code, hãy áp dụng các phương pháp sau - phù hợp cho cả developer frontend và backend.
Phương pháp đơn giản nhất (Khởi đầu cho người mới)
Tạo file thực thi cơ bản:
// app.js
const calculateSum = (x, y) => x + y;
const total = calculateSum(5, 7);
console.log('Kết quả:', total);
Thao tác gỡ lỗi:
- Mở file
app.jstrong VS Code - Click vào bên trái số dòng để thiết lập điểm dừng (xuất hiện chấm đỏ)
- Khởi động chế độ debug bằng:
- Nút ▶️ trên thanh công cụ
- Phím tắt
F5(tất cả hệ điều hành)
Cấu hình nâng cao với launch.json
Để xử lý dự án phức tạp, tạo file cấu hình debug:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Khởi chạy ứng dụng",
"entryFile": "${workspaceFolder}/app.js",
"workingDir": "${workspaceFolder}",
"console": "integratedTerminal",
"excludeInternal": ["<node_internals>/**"]
}
]
}
Các tham số quan trọng:
entryFile: Đường dẫn file khởi chạyexcludeInternal: Bỏ qua mã nguồn Node.js nội bộ
Gỡ lỗi qua npm scripts
Với cấu hình trong package.json:
"scripts": {
"start": "node src/main.js"
}
Thiết lập debug tương ứng:
{
"type": "node",
"request": "launch",
"name": "Debug npm start",
"runtime": "npm",
"args": ["run", "start"],
"console": "integratedTerminal"
}
Kết nối với tiến trình đang chạy (Attach Mode)
Khởi động ứng dụng với:
node --inspect=9230 server.js
Cấu hình VS Code:
{
"type": "node",
"request": "attach",
"name": "Kết nối máy chủ",
"debugPort": 9230
}
Phương pháp này đặc biệt hữu ích khi debug ứng dụng trong Docker hoặc môi trường production.
Kỹ thuật gỡ lỗi nâng cao
- Từ khóa debug: Chèn
debuggervào code để tự động dừng thực thi - Biến theo dõi: Sử dụng khung Watch để quan sát giá trị biểu thức (vd:
request.headers) - Điểm dừng có điều kiện: Click phải vào điểm dừng → Thiết lập biểu thức kiểm tra (vd:
userId > 100)
Xử lý sự cố thường gặp
- Điểm dừng không hoạt động: Kiểm tra đường dẫn file nguồn và cấu hình source map
- Bị lạc vào mã nguồn Node.js: Đảm bảo có tham số
"excludeInternal": ["<node_internals>/**"]
| Hành động | Phím tắt |
|---|---|
| Tiếp tục thực thi | F5 |
| Bước qua hàm (Step Over) | F10 |
| Chạy vào hàm (Step Into) | F11 |
| Thoát khỏi hàm (Step Out) | Shift + F11 |