Hướng dẫn Claude Code
Sửa lỗi trong vài giây với Claude Code
Đọc, chẩn đoán, sửa lỗi, xác minh, vòng lặp gỡ lỗi bằng AI
Claude Code gỡ lỗi bằng cách đọc thông tin lỗi, lần theo codebase của bạn, và áp dụng bản sửa lỗi chính xác, tất cả chỉ từ một lệnh terminal. Thay vì phải dò từng dòng code bằng debugger hoặc rải các câu lệnh print khắp nơi, bạn chỉ cần mô tả vấn đề và Claude Code sẽ đọc các file liên quan, tìm ra nguyên nhân gốc rễ, và viết bản sửa lỗi. Nó hoạt động với mọi ngôn ngữ, mọi framework và mọi quy mô dự án.
Gỡ lỗi với Claude Code hoạt động bằng cách bạn mô tả lỗi bằng ngôn ngữ tự nhiên. Claude sẽ đọc mã nguồn liên quan, tìm ra nguyên nhân gốc rễ, áp dụng bản sửa lỗi, và chạy bộ kiểm thử của bạn để xác minh. Chỉ một prompt cũng có thể thay thế 30 phút gỡ lỗi thủ công bằng cách tận dụng toàn bộ ngữ cảnh của codebase.
Quy trình
Gỡ lỗi với Claude Code hoạt động như thế nào
Khi bạn dán một thông báo lỗi, stack trace, hoặc mô tả một hành vi bất thường, Claude Code bắt đầu bằng việc đọc các file mã nguồn liên quan. Nó không đoán, mà mở mã thật của bạn, đọc chuỗi import, kiểm tra các file cấu hình, và xây dựng một mô hình tư duy về cách mà code nên hoạt động. Nếu lỗi tham chiếu đến một file và một dòng cụ thể, nó sẽ bắt đầu từ đó. Nếu bạn mô tả một triệu chứng, nó sẽ tìm trong dự án của bạn để xác định các đường dẫn code liên quan.
Sau khi đọc code, Claude Code sẽ giải thích điều gì đang sai và vì sao. Đây không chỉ là lặp lại thông báo lỗi, mà nó lần theo luồng logic, xác định nơi mà các giả định bị phá vỡ, và chỉ ra nguyên nhân gốc rễ. Ví dụ, nếu một component React hiển thị dữ liệu cũ, Claude Code có thể lần theo vấn đề từ component đó, qua một custom hook, đến một dependency bị thiếu trong mảng useEffect. Nó giải thích toàn bộ chuỗi nhân quả, không chỉ là triệu chứng.
Claude Code không chỉ nói cho bạn biết cần thay đổi gì, nó trực tiếp chỉnh sửa file. Nó viết bản sửa lỗi tối giản và chính xác ở đúng vị trí. Nếu bản sửa lỗi cần thay đổi trên nhiều file (như cập nhật một định nghĩa kiểu dữ liệu và tất cả những nơi sử dụng nó), Claude Code sẽ xử lý tất cả theo thứ tự. Bạn xem lại diff trước khi chấp nhận, nên bạn vẫn kiểm soát được những gì sẽ được commit.
Sau khi áp dụng bản sửa lỗi, Claude Code có thể chạy bộ kiểm thử, linter, hoặc lệnh build của bạn để xác minh rằng thay đổi đó hoạt động. Nếu vẫn còn lỗi, nó sẽ đọc lỗi mới và lặp lại vòng lặp chẩn đoán, sửa lỗi, xác minh, cho đến khi vấn đề được giải quyết. Cách làm lặp lại này phản ánh đúng cách các developer kinh nghiệm gỡ lỗi, nhưng diễn ra trong vài giây thay vì vài phút.
Quy trình
Các quy trình gỡ lỗi phổ biến
Dán một stack trace và Claude Code sẽ đọc từng file trong chuỗi gọi hàm. Nó tìm ra nguyên nhân gốc rễ, không chỉ là dòng ném ra lỗi, bằng cách lần theo các ranh giới bất đồng bộ, các tầng middleware và các lệnh gọi thư viện của bên thứ ba.
Cho Claude Code biết bài kiểm thử nào đang thất bại, nó sẽ đọc cả file kiểm thử và phần triển khai thực tế. Nó so sánh hành vi mong đợi với hành vi thực tế, xác định điểm không khớp, và sửa code (hoặc sửa bài kiểm thử, nếu bài kiểm thử đó bị sai).
Lỗi kiểu dữ liệu trong TypeScript và Python thường lan truyền theo chuỗi, một kiểu dữ liệu sai có thể gây ra hai mươi lỗi khác. Claude Code lần theo ngược lại đến điểm không khớp kiểu dữ liệu ban đầu, sửa nó tại nguồn, và xác minh rằng bản sửa lỗi đó giải quyết được tất cả các lỗi phát sinh sau đó.
Đối với các ngoại lệ con trỏ null, truy cập giá trị undefined, và sự cố khi chạy runtime, Claude Code đọc đoạn code xung quanh, xác định biến nào có thể bị undefined và lý do tại sao, rồi thêm vào kiểm tra null phù hợp hoặc sửa luồng dữ liệu.
Phương pháp hay
Mẹo để gỡ lỗi hiệu quả
Claude Code hoạt động tốt nhất với thông báo lỗi và stack trace chính xác. Hãy sao chép toàn bộ kết quả hiển thị trên terminal thay vì diễn giải lại bằng lời của bạn. Số dòng, đường dẫn file, và mã lỗi trong một stack trace thô cho Claude Code những điểm bắt đầu chính xác. Một bản tóm tắt như "nó bị lỗi khi đăng nhập" chỉ buộc nó phải đoán. TypeError: Cannot read properties of undefined (reading 'user') thực tế sẽ cho Claude Code biết chính xác nơi cần xem.
Đối với các lỗi về hành vi mà không có thông báo lỗi, hãy mô tả sự khác biệt giữa hành vi mong đợi và hành vi thực tế. "API trả về 200 nhưng phần nội dung phản hồi lại trống" hữu ích hơn nhiều so với "API không hoạt động." Mô tả của bạn càng cụ thể, Claude Code càng nhanh khoanh vùng được đoạn code gây ra kết quả sai.
Không cần giải thích trước về kiến trúc của bạn. Claude Code đọc các file mã nguồn thật của bạn, điều này đáng tin cậy hơn lời giải thích của bạn về chúng. Nếu bạn nói "middleware xác thực kiểm tra JWT" nhưng code của bạn thực ra lại bỏ qua việc kiểm tra ở một số route, Claude Code sẽ phát hiện điều đó khi đọc file. Hãy tin tưởng rằng công cụ này sẽ đọc code của bạn, thay vì chỉ nghe bạn kể lại.
Hãy thêm các lệnh kiểm thử, lệnh build và những lỗi thường gặp của dự án vào file CLAUDE.md của bạn. Khi Claude Code biết rằng npm test sẽ chạy bộ kiểm thử của bạn và npm run lint sẽ kiểm tra phong cách viết code, nó có thể tự động xác minh các bản sửa lỗi. Điều này biến việc gỡ lỗi từ một cuộc trò chuyện thành một vòng lặp được tự động hóa.
So sánh
Gỡ lỗi so với các IDE truyền thống
Debugger của IDE hiển thị giá trị biến tại các breakpoint. Linter phát hiện các vấn đề về cú pháp. Nhưng cả hai đều không hiểu code của bạn nên làm gì. Claude Code đọc ý định đằng sau code của bạn, tên hàm, logic xung quanh, kỳ vọng của bài kiểm thử, và xác định khi nào phần triển khai đi chệch khỏi ý định đó. Nó phát hiện ra các lỗi logic mà không có công cụ tô sáng cú pháp nào có thể phơi bày.
Debugger truyền thống chỉ lần theo một đường thực thi duy nhất. Claude Code đọc toàn bộ dự án của bạn, lần theo cách một kiểu dữ liệu được định nghĩa ở một file được sử dụng bởi một hàm ở file khác, rồi lại được truyền tới một component ở file thứ ba. Nó có thể xác định rằng lỗi của bạn không nằm ở file đã ném ra thông báo lỗi, mà nằm ở một hàm tiện ích sâu hơn ba lớp import, hàm này lặng lẽ trả về sai định dạng dữ liệu.
Debugger của IDE yêu cầu thiết lập khởi chạy, source map, và cài đặt breakpoint. Claude Code hoạt động ngay khi bạn mở terminal. Không có debugger nào cần cấu hình, không có breakpoint nào cần đặt, không có watch expression nào cần định nghĩa. Bạn mô tả vấn đề bằng ngôn ngữ thông thường và Claude Code bắt đầu điều tra ngay lập tức. Điều này làm cho nó đặc biệt hiệu quả với các codebase xa lạ, nơi bạn thậm chí không biết nên đặt breakpoint ở đâu.
Câu hỏi thường gặp
Gỡ lỗi với Claude Code, câu hỏi thường gặp
Có. Dán một stack trace hoặc log lỗi từ production vào Claude Code, và nó sẽ lần theo vấn đề trở lại mã nguồn của bạn. Nó có thể đọc các file log, xác định hàm gây ra lỗi, và đề xuất bản sửa lỗi. Đối với các vấn đề đặc trưng của production như môi trường không khớp hoặc thiếu cấu hình, hãy chia sẻ ngữ cảnh triển khai liên quan, và Claude Code sẽ đưa điều đó vào trong chẩn đoán của nó.
Claude Code hoạt động với tất cả các framework chính, React, Next.js, Django, FastAPI, Rails, Express, Spring Boot và nhiều hơn nữa. Nó đọc các file dự án của bạn (package.json, pyproject.toml, Gemfile) để hiểu stack của bạn và áp dụng các chiến lược gỡ lỗi riêng cho từng framework. Nó cũng biết các lỗi thường gặp đặc trưng của từng framework, như sự không khớp hydration của React, ranh giới component server/client của Next.js, và các vấn đề về truy vấn ORM của Django.
Đây chính là điểm mà Claude Code vượt trội hơn các công cụ gỡ lỗi truyền thống. Nó có thể đọc nhiều file trong dự án của bạn, lần theo các lệnh gọi hàm giữa các module, theo dõi chuỗi import, và xác định nơi một giá trị bị hỏng khi truyền qua giữa các component. Bạn mô tả triệu chứng, và Claude Code sẽ điều hướng qua đồ thị dependency để tìm ra nguyên nhân gốc rễ, ngay cả khi lỗi đó nằm ở một file cách ba file so với nơi lỗi xuất hiện.
Với hầu hết các lỗi, đúng là vậy. Gỡ lỗi bằng print rất chậm vì bạn phải đoán nơi cần thêm log, chạy code, đọc kết quả, và lặp lại việc này. Claude Code đọc toàn bộ đường dẫn code liên quan trong một lần và xác định vấn đề chỉ trong vài giây. Tuy nhiên, với các lỗi liên quan đến thời gian hoặc các vấn đề chỉ xuất hiện khi hệ thống chịu tải, Claude Code có thể giúp bạn thêm log mang tính chiến lược ở đúng chỗ, thay vì rải các câu lệnh print khắp nơi.
Dán thông báo lỗi hoặc stack trace trực tiếp và để Claude Code lần theo codebase của bạn. Cung cấp các bước để tái hiện lỗi và bất kỳ chi tiết môi trường liên quan nào. Claude Code sẽ đọc các file liên quan, xác định nguyên nhân gốc rễ, đề xuất bản sửa lỗi, và có thể tùy chọn chạy các bài kiểm thử của bạn để xác minh rằng bản sửa lỗi đó hoạt động. Điều quan trọng là cung cấp cho nó toàn bộ ngữ cảnh của lỗi, thay vì diễn giải lại.
Có. Khi Claude Code xác định được một lỗi, nó có thể chỉnh sửa file mã nguồn, áp dụng bản sửa lỗi, và chạy bộ kiểm thử của bạn để xác nhận vấn đề đã được giải quyết. Đối với các lỗi đơn giản như lỗi lệch một đơn vị, thiếu kiểm tra null, hoặc gọi API sai, nó thường sửa được trong một lần. Đối với các lỗi phức tạp, nó làm việc theo cách lặp lại: áp dụng bản sửa lỗi, kiểm thử, và điều chỉnh cho đến khi các bài kiểm thử đều thành công.
Học cách gỡ lỗi như một chuyên gia với Claude Code
Đừng chỉ đọc nữa. Hãy xây dựng một thứ gì đó.