TROISINH
AI cho Công việcCursor (AI Coding)

Debug code với Cursor

Hướng dẫn sử dụng Cursor để tìm và sửa lỗi code tự động. Từ console error đến logic phức tạp — giải pháp AI giúp debug nhanh hơn 10x.

Định nghĩa

Cursor là AI code editor tích hợp sẵn chức năng debug thông minh — không chỉ chỉ ra lỗi mà còn giải thích nguyên nhân bằng tiếng Việt hoặc tiếng Anh, đồng thời đề xuất đoạn fix tự động áp dụng vào codebase. Thay vì copy-paste lỗi lên Google hoặc Stack Overflow, bạn chỉ cần highlight đoạn code lỗi và hỏi AI ngay trong editor.

Giải thích chi tiết

Khi nào cần debug với AI?

Có ba loại lỗi phổ biến mà Cursor đặc biệt mạnh:

Lỗi cú pháp (Syntax Error): Thiếu dấu ngoặc, chính tả sai tên biến. Cursor phát hiện ngay khi gõ, nhưng AI giúp giải thích tại sao lỗi xảy ra — đặc biệt hữu ích với non-developer.

Lỗi runtime: Code chạy nhưng crash ở dòng nào đó, thường hiện trong terminal hoặc browser console. Cursor đọc được stack trace và trỏ đúng vị trí gây lỗi.

Lỗi logic: Code chạy không crash nhưng cho kết quả sai. Đây là loại khó nhất, đòi hỏi AI phân tích flow dữ liệu qua nhiều file.

Debug bằng AI Chat

Cách phổ biến nhất là dùng AI Chat bên sidebar. Bạn highlight đoạn code nghi ngờ, nhấn Ctrl+L (Windows/Linux) hoặc Cmd+L (Mac) để mở chat, sau đó hỏi trực tiếp.

Ví dụ prompt hiệu quả:

  • "Giải thích lỗi này" — Cursor sẽ phân tích lỗi đang highlight
  • "Tại sao function này trả về undefined?" — AI trace ngược logic
  • "Fix lỗi null pointer exception này" — Đề xuất code sửa lỗi với giải thích

Điểm mạnh: Cursor có full context của project. Nếu lỗi nằm ở file A nhưng nguyên nhân từ file B import sai, AI sẽ phát hiện cả hai.

Debug bằng Composer

Composer (Ctrl+I) mạnh hơn Chat ở chỗ có thể tự động áp dụng fix vào nhiều file cùng lúc. Khi phát hiện lỗi liên quan đến nhiều module, Composer sẽ:

  1. Phân tích lỗi và nguyên nhân gốc rễ
  2. Đề xuất sửa đổi cho tất cả file liên quan
  3. Hiển thị diff để bạn review trước khi apply
  4. Apply tự động nếu bạn đồng ý

Đây là công cụ đắc lực khi refactor code cũ hoặc sửa lỗi architecture.

Tính năng Inline Error Explanation

Khi code có lỗi (gạch đỏ dưới chân), hover chuột vào lỗi đó, Cursor sẽ hiện popup giải thích ngắn gọn. Nếu cần chi tiết hơn, click "Explain with AI" — một tab chat mở ra với context lỗi đã được điền sẵn.

Tính năng này đặc biệt giúp non-developer hiểu lỗi mà không cần đọc tài liệu kỹ thuật dài dòng.

Debug Terminal Output

Cursor tích hợp terminal trong editor. Khi chạy lệnh và gặp lỗi, bạn có thể:

  1. Bôi đen đoạn lỗi trong terminal
  2. Chuột phải → "Explain in Chat"
  3. AI sẽ phân tích log và chỉ ra file cần sửa

Không cần copy-paste lỗi thủ công, giảm thiểu sai sót khi truyền context.

Ví dụ thực tế

Fix lỗi API call không trả về dữ liệu

Bạn có đoạn code fetch API nhưng luôn vào catch block:

const getUser = async () => {
  const res = await fetch('/api/user');
  const data = await res.json();
  return data;
};

Cách debug: Highlight function, mở Chat (Ctrl+L), gõ: "Tại sao luôn báo lỗi khi gọi API này?"

Cursor phát hiện: Bạn quên check res.ok hoặc server trả về 401 nhưng code không xử lý status code. AI đề xuất thêm:

if (!res.ok) throw new Error(`HTTP ${res.status}`);

Sửa lỗi website WordPress theme (Non-developer)

Bạn chỉnh sửa theme WordPress, thêm đoạn CSS vào style.css nhưng site bị vỡ layout. Không biết CSS nào gây lỗi.

Cách debug: Mở file style.css trong Cursor, bôi đen đoạn code vừa thêm, hỏi Composer: "Đoạn CSS này làm layout bị vỡ trên mobile, hãy sửa lại responsive"

AI phân tích media query và đề xuất sửa width: 100vw thành width: 100% tránh scrollbar ngang. Bạn click Accept để apply fix ngay.

Debug Python script xử lý CSV bị lỗi encoding

Script đọc file CSV nhưng báo lỗi UnicodeDecodeError khi gặp ký tự tiếng Việt.

Cách debug: Copy lỗi từ terminal, paste vào Chat với prompt: "Lỗi encoding này khi đọc CSV tiếng Việt, fix như thế nào?"

Cursor nhận ra thiếu encoding='utf-8' trong hàm open(), đồng thời đề xuất thêm thư viện pandas với parameter encoding để xử lý robust hơn.

Ứng dụng

Developer chuyên nghiệp

  • Legacy codebase: Dùng Composer để refactor code cũ, fix lỗi tiềm ẩn mà không break existing features. Cursor hiểu context toàn bộ project nên biết chỗ nào không được đụng vào.
  • Code review nhanh: Trước khi commit, highlight đoạn code mới viết, nhờ AI check xem có lỗi edge case nào không. Giảm thời gian review cho senior dev.

Non-developer (Marketing, Designer, Founder)

  • Sửa website landing page: Khi dùng template HTML/CSS, nếu chỉnh sửa làm hỏng layout, dùng Chat để hỏi lỗi và fix từng dòng. Không cần hiểu sâu CSS, chỉ cần biết mô tả triệu chứng.
  • Script automation: Viết script Python đơn giản để xử lý Excel/CSV, khi gặp lỗi thì paste lỗi vào Chat, làm theo hướng dẫn từng bước.

Sinh viên và người mới học code

  • Học từ lỗi: Thay vì fix xong quên ngay, dùng Cursor giải thích tại sao lỗi xảy ra để hiểu sâu concept. Ví dụ: lỗi undefined is not a function giúp hiểu rõ về hoisting và scope trong JavaScript.
  • Debug bài tập: Khi code không chạy đúng yêu cầu đề bài, highlight input/output sai và hỏi AI trace logic.

So sánh

Tiêu chíCursor DebugChatGPT/Claude (Web)VS Code + Copilot
Context codeCó toàn bộ project, file liên quanChỉ có đoạn copy-pasteChỉ file đang mở
Apply fix tự độngComposer apply vào nhiều filePhải copy-paste thủ côngChỉ gợi ý inline, không auto apply multi-file
Debug terminalTích hợp sẵn, explain log dễ dàngPhải copy log sang chatKhông có tính năng này
Hiểu codebase lớnTốt, có thể lập chỉ mục cả projectHạn chế bởi context lengthTrung bình
GiáFree tier có giới hạn, Pro $20/thángFree/Pro tùy nhu cầu$10-19/tháng

Kết luận: Nếu bạn đang code trong editor, Cursor là lựa chọn tối ưu vì AI hiểu context project sâu nhất và có thể sửa code trực tiếp. ChatGPT/Claude web phù hợp khi bạn cần giải thích khái niệm lý thuyết không liên quan đến file cụ thể.

Bài viết liên quan

Cùng cụm Cursor

Đọc tiếp

  • Claude AI — Cursor sử dụng Claude model làm nền tảng, hiểu rõ Claude giúp bạn prompt hiệu quả hơn trong Cursor
  • Automation Platforms — Sau khi debug xong, học cách tự động hóa workflow deploy và testing

On this page