Visual Studio Code là trình soạn thảo nhẹ nhưng mạnh mẽ, hỗ trợ đầy đủ gỡ lỗi từng bước (step-by-step debugging) cho các ứng dụng ASP.NET Core. Với thiết lập chính xác, bạn có thể gỡ lỗi các controllers, services, middleware và Web APIs giống hệt như khi sử dụng Visual Studio.
Hướng dẫn này sẽ trình bày mọi thứ bạn cần biết, từ các điều kiện tiên quyết cho đến các kịch bản gỡ lỗi nâng cao.
1. Điều kiện tiên quyết
Trước khi gỡ lỗi ASP.NET Core trong VS Code, hãy đảm bảo bạn đã cài đặt những thứ sau:
1.1 Cài đặt .NET SDK
Bạn phải cài đặt .NET SDK, không chỉ runtime.
Xác minh việc cài đặt:
1.2 Cài đặt Visual Studio Code
Tải xuống và cài đặt phiên bản mới nhất của Visual Studio Code.
1.3 Cài đặt Extension C#
Trong VS Code, hãy cài đặt:
-
C# Dev Kit (Microsoft)
Extension này bao gồm OmniSharp và hỗ trợ gỡ lỗi cho .NET.
2. Mở Project ASP.NET Core của Bạn
Mở thư mục gốc của project ASP.NET Core trong VS Code (thư mục chứa tệp .csproj).
Nếu đây là lần đầu tiên bạn mở một project C#, VS Code sẽ yêu cầu khôi phục các dependency — hãy chấp nhận.
3. Tạo Cấu hình Gỡ lỗi (launch.json)
3.1 Tự động tạo launch.json
-
Mở panel Run & Debug (
Ctrl + Shift + D) -
Nhấp vào Create a launch.json file
-
Chọn .NET Core
-
Chọn ASP.NET Core
VS Code sẽ tạo ra tệp .vscode/launch.json.
3.2 Cấu hình launch.json mẫu
⚠️ Đảm bảo rằng:
-
net8.0khớp với framework mục tiêu của project bạn -
YourProject.dllkhớp với tên project của bạn
4. Đặt Breakpoint
Mở bất kỳ tệp C# nào và nhấp vào bên cạnh số dòng để đặt breakpoint.
Ví dụ trong một controller:
Breakpoints có thể được đặt tại:
-
Controllers
-
Services
-
Repositories
-
Middleware
-
Minimal API endpoints
5. Bắt đầu Gỡ lỗi
Nhấn F5 hoặc nhấp vào Start Debugging.
VS Code sẽ:
-
Build project
-
Khởi chạy ứng dụng ASP.NET Core
-
Tự động mở trình duyệt (nếu đã cấu hình)
Kích hoạt yêu cầu API bằng cách sử dụng:
-
Trình duyệt
-
Swagger UI
-
Postman
-
Ứng dụng Frontend
Khi yêu cầu chạm tới breakpoint của bạn, quá trình thực thi sẽ tạm dừng.
6. Các Điều khiển Gỡ lỗi Từng bước
Trong khi tạm dừng, bạn có thể sử dụng:
-
Step Over (F10) – thực thi dòng tiếp theo
-
Step Into (F11) – đi vào bên trong một phương thức
-
Step Out (Shift + F11) – thoát khỏi phương thức hiện tại
-
Continue (F5) – tiếp tục thực thi
Bạn cũng có thể kiểm tra:
-
Biến cục bộ (Local variables)
-
Tham số (Parameters)
-
Ngăn xếp Cuộc gọi (Call Stack)
-
Biểu thức Theo dõi (Watch expressions)
7. Gỡ lỗi Web APIs
VS Code hoạt động hoàn hảo để gỡ lỗi Web APIs.
Quy trình làm việc điển hình:
-
Bắt đầu gỡ lỗi với F5
-
Mở Swagger hoặc Postman
-
Gửi yêu cầu HTTP
-
Breakpoint được kích hoạt
-
Kiểm tra dữ liệu yêu cầu và logic từng bước
Điều này đặc biệt hữu ích cho:
-
Các vấn đề Xác thực / Ủy quyền (Authentication / Authorization)
-
Xác thực logic nghiệp vụ (Business logic validation)
-
Gỡ lỗi tương tác với Cơ sở dữ liệu
8. Gắn Debugger vào Ứng dụng đang Chạy (Attach)
Nếu ứng dụng của bạn đã chạy bằng lệnh:
Bạn vẫn có thể gỡ lỗi nó:
-
Mở Run & Debug
-
Chọn .NET Core Attach
-
Chọn tiến trình
dotnetchính xác
Tính năng này hữu ích cho:
-
Docker containers
-
Các dịch vụ nền (Background services)
-
Các tiến trình chạy dài (Long-running processes)
9. Các Vấn đề Thường gặp và Khắc phục
Breakpoint không được kích hoạt
-
Đảm bảo bạn đang chạy ở chế độ Debug, không phải Release
-
Kiểm tra đường dẫn
programtronglaunch.jsonlà chính xác -
Clean và rebuild lại project
OmniSharp không hoạt động
-
Khởi động lại OmniSharp (
Ctrl + Shift + P→ Restart OmniSharp) -
Đảm bảo chỉ có một .NET SDK đang hoạt động
10. VS Code so với Visual Studio
VS Code lý tưởng khi bạn:
-
Xây dựng Web APIs
-
Làm việc với microservices
-
Thích trình soạn thảo nhẹ (lightweight)
-
Sử dụng phát triển đa nền tảng (cross-platform)
Visual Studio có thể tốt hơn khi bạn:
-
Làm việc nhiều với Razor Pages
-
Sử dụng các công cụ EF nâng cao
-
Ưu tiên scaffolding dựa trên GUI
Kết luận
Visual Studio Code cung cấp hỗ trợ gỡ lỗi từng bước đầy đủ cho ASP.NET Core. Với các breakpoint, kiểm tra biến và gỡ lỗi API, đây là một lựa chọn mạnh mẽ cho phát triển .NET hiện đại—đặc biệt đối với các dự án backend và Web API.
Nếu bạn ưu tiên tốc độ, tính linh hoạt và hỗ trợ đa nền tảng, VS Code là một lựa chọn tuyệt vời để gỡ lỗi ASP.NET Core.