Breakpoint debugging: node --inspect app.js mở debugger ở cổng 9229, vào chrome://inspect để attach. --inspect-brk dừng ngay dòng đầu — dùng khi cần debug đoạn khởi tạo.
json
// .vscode/launch.json — breakpoint thẳng trên TypeScript nhờ source map
{
"type": "node",
"request": "launch",
"program": "${workspaceFolder}/src/index.ts",
"runtimeArgs": ["-r", "ts-node/register"]
}- Memory profiling: DevTools → Memory → Heap Snapshot, so sánh hai snapshot để tìm rò rỉ; cột retained size cho biết object đang giữ những gì.
- CPU profiling: DevTools → Performance → Record → tạo tải → đọc flame graph tìm hàm chiếm nhiều CPU.
clinic doctor -- node app.jstự phát hiện độ trễ event loop, vấn đề I/O và bộ nhớ rồi xuất báo cáo HTML.0x app.jsdựng flamegraph CPU tương tác, xem call stack nào chiếm CPU.- Bật
sourceMap: truetrong tsconfig để debugger map JS ngược về TS.
Lưu ý: chạy --inspect trên production mà mở cổng ra internet là lỗ hổng thực thi mã từ xa — chỉ bind vào localhost.