Gỡ lỗi hiệu quả và chất lượng mã là những khái niệm không thể tách rời trong phát triển phần mềm. Chức năng gỡ lỗi của Mã Visual Studio (VS) được kiểm soát chủ yếu bởi tệp launch.json. Tệp này cho phép các nhà phát triển định cấu hình và quản lý cài đặt gỡ lỗi theo tầm nhìn của họ.
làm thế nào để loại bỏ bảo vệ ghi
Bài viết này sẽ hướng dẫn bạn mở và quản lý tệp launch.json để gỡ lỗi tối ưu.
Mở launch.json trong Visual Studio Code
Để định cấu hình và quản lý cài đặt gỡ lỗi Mã VS, bạn sẽ cần quyền truy cập vào tệp launch.json. Tệp này đóng một vai trò quan trọng trong tùy chỉnh gỡ lỗi.
- Mở mã Visual Studio.
- Nhấn Ctrl + Shift + P để mở Bảng lệnh.
- Nhập “Mở launch.json” trong Bảng lệnh và nhấn “Enter”. Thao tác này sẽ mở tệp launch.json cho bạn.
- Nếu tệp launch.json không mở, hãy xác minh rằng thư mục “.vscode” tồn tại trong thư mục gốc của dự án của bạn.
- Nếu nó không tồn tại, hãy tạo một thư mục mới có tên là “.vscode” trong thư mục Người dùng của bạn.
- Tạo một tệp “launch.json” mới và đặt nó vào thư mục này.
Tệp launch.json sẽ sẵn sàng để cấu hình sau khi kích hoạt nó.
Tổng quan về cấu trúc Launch.json
launch.json hiển thị các phần “phiên bản” và “cấu hình”. Phần “cấu hình” là một mảng chứa các tùy chọn gỡ lỗi khác nhau mà bạn sẽ sử dụng để định cấu hình lược đồ gỡ lỗi của mình.
Mỗi đối tượng trong mảng “cấu hình” đại diện cho một tình huống gỡ lỗi. Các đối tượng này có các thuộc tính xác định môi trường gỡ lỗi, chẳng hạn như cài đặt ngôn ngữ, chương trình và trình gỡ lỗi.
Một số thuộc tính phổ biến bạn sẽ gặp trong cấu hình launch.json bao gồm:
- “name” – Tên thân thiện với người đọc cho cấu hình để xác định nó trong menu thả xuống.
- “type” – Chỉ định loại trình gỡ lỗi (chẳng hạn như “nút”, “trăn” hoặc “cppvsdbg”).
- “request” – Xác định loại yêu cầu, “launch” (để bắt đầu một phiên bản mới) hoặc “attach” (để đính kèm trình gỡ lỗi vào một quy trình hiện có).
- “chương trình” – Đường dẫn tệp cho tệp bạn muốn gỡ lỗi.
- “args” – Một mảng các đối số dòng lệnh để chuyển đến chương trình trong quá trình gỡ lỗi.
- “preLaunchTask” – Một tác vụ cần chạy trước khi bắt đầu trình gỡ lỗi.
Việc hiểu cấu trúc tệp launch.json cho phép bạn biết tùy chọn nào cần thay đổi và tùy chọn nào nên để yên trong khi tùy chỉnh môi trường gỡ lỗi của mình.
Định cấu hình cài đặt khởi chạy cho các ngôn ngữ khác nhau
Các bước để định cấu hình cài đặt khởi chạy có thể hơi khác nhau tùy thuộc vào ngôn ngữ. Dưới đây là các bước cho một số ngôn ngữ phổ biến.
JavaScript và TypeScript
- Tạo tệp launch.json mới và định cấu hình thuộc tính “type” là “nút” cho JavaScript hoặc “nút pwa” cho TypeScript.
- Đặt thuộc tính 'yêu cầu' thành 'khởi chạy' hoặc 'đính kèm'.
- Bạn nên chỉ định tệp điểm đầu vào bằng thuộc tính “chương trình”.
con trăn
- Cài đặt trình thông dịch Python và tiện ích mở rộng cho Visual Studio Code.
- Đặt thuộc tính “type” thành “python” trong tệp launch.json mới.
- Định cấu hình thuộc tính 'yêu cầu' thành 'khởi chạy' hoặc 'đính kèm'.
- Chỉ định tệp Python để chạy bằng thuộc tính “chương trình”.
- Bạn có thể cần đặt thêm thuộc tính “pythonPath” thành đường dẫn của trình thông dịch Python nếu nó không ở vị trí mặc định.
C# và .NET Core
- Cài đặt tiện ích mở rộng C# cho Visual Studio Code.
- Trong tệp launch.json mới, hãy đặt thuộc tính “type” thành “coreclr” cho .NET Core hoặc “clr” cho .NET Framework.
- Định cấu hình thuộc tính 'yêu cầu' thành 'khởi chạy' hoặc 'đính kèm'.
- Chỉ định tệp điểm nhập bằng thuộc tính 'chương trình'.
- Đặt thuộc tính “cwd” vào thư mục làm việc của dự án hiện tại nếu cần.
Java
- Cài đặt Gói mở rộng Java.
- Tạo một tệp launch.json mới và đặt thuộc tính “type” thành “java”.
- Định cấu hình thuộc tính 'yêu cầu' thành 'khởi chạy' hoặc 'đính kèm'.
- Chỉ định lớp chính với thuộc tính “mainClass”.
- Đặt thuộc tính “projectName” thành tên của dự án Java của bạn.
- Định cấu hình thuộc tính “đường dẫn lớp” để bao gồm các thư viện Java mà bạn sẽ sử dụng trong quá trình phát triển Java của mình.
Công thức cấu hình gỡ lỗi
Phần sau đây bao gồm các công thức cấu hình gỡ lỗi khác nhau.
Đính kèm trình gỡ lỗi vào quy trình đang chạy
Để đính kèm trình gỡ lỗi vào quy trình đang chạy:
- Đặt thuộc tính “yêu cầu” thành “đính kèm”.
- Chọn ID quy trình hoặc bộ lọc để tìm quy trình cần gỡ lỗi.
Gỡ lỗi ứng dụng từ xa
Để gỡ lỗi ứng dụng từ xa:
- Sử dụng loại 'từ xa'.
- Cung cấp địa chỉ, cổng và có thể cả thông tin xác thực của máy chủ lưu trữ để thiết lập kết nối.
Gỡ lỗi kiểm tra đơn vị và bộ kiểm tra
Khi gỡ lỗi các bài kiểm tra đơn vị và bộ kiểm tra:
- Sử dụng cấu hình bao gồm khung kiểm tra và cài đặt để gỡ lỗi kiểm tra đơn vị và bộ kiểm tra.
- Xác định bộ thử nghiệm hoặc các tệp thử nghiệm riêng lẻ trong thuộc tính “chương trình” hoặc “đối số” để nhắm mục tiêu các thử nghiệm cụ thể.
Truyền biến môi trường
Thuộc tính “env” trong launch.json có thể chuyển các biến môi trường cho ứng dụng của bạn trong khi gỡ lỗi. Thuộc tính này là một đối tượng chứa các cặp khóa-giá trị cho các biến môi trường mà bạn muốn đặt.
Gỡ lỗi nâng cao
Hãy cùng khám phá một số kỹ thuật sửa lỗi nâng cao dành cho những người dùng muốn tận dụng thêm một chút sức mạnh từ các tệp gỡ lỗi.
Điểm ngắt có điều kiện và Điểm ghi
Điểm ngắt có điều kiện và điểm ghi nhật ký cải thiện khả năng gỡ lỗi bằng cách tạm dừng hoặc ghi thông báo chỉ trong các điều kiện cụ thể. Để sử dụng chúng:
- Nhấp chuột phải vào số dòng mà bạn muốn đặt điểm dừng hoặc điểm đăng nhập.
- Chọn “Thêm điểm dừng có điều kiện” hoặc “Thêm điểm đăng nhập”.
- Nhập điều kiện hoặc thông báo để kích hoạt hành động.
Bản đồ nguồn
Bản đồ nguồn cho phép bạn gỡ lỗi mã đã được chuyển đổi hoặc thu nhỏ.
- Đặt thuộc tính “sourceMap” thành “true” trong cấu hình launch.json của bạn để sử dụng bản đồ nguồn.
- Đảm bảo quy trình xây dựng của bạn tạo bản đồ nguồn và mã được chuyển đổi.
Tích hợp trình gỡ lỗi bên ngoài
Bạn có thể tích hợp các công cụ và trình sửa lỗi bên ngoài, chẳng hạn như gdb hoặc lldb, vào Mã VS nếu muốn.
- Cài đặt phần mở rộng trình gỡ lỗi của sự lựa chọn.
- Định cấu hình cài đặt của trình gỡ lỗi trong tệp launch.json.
Gỡ lỗi các ứng dụng đa luồng
Khi gỡ lỗi các ứng dụng đa luồng, bạn có thể kiểm soát việc thực thi các luồng riêng lẻ.
- Sử dụng chế độ xem 'luồng' trong thanh bên Gỡ lỗi để quản lý các luồng trong phiên gỡ lỗi.
- Bạn có thể tạm dừng, tiếp tục hoặc từng bước thực thi mã cho từng chuỗi riêng biệt.
Gỡ lỗi đa mục tiêu
Cấu hình khởi chạy hỗn hợp cho phép gỡ lỗi đồng thời nhiều mục tiêu. Nếu bạn muốn tận dụng tính năng này, hãy thêm một mảng “hợp chất” có tên cấu hình để nhóm lại với nhau. Chạy chúng bằng cách chọn tên cấu hình ghép từ menu thả xuống Gỡ lỗi.
Định cấu hình nhiều cấu hình khởi chạy nhắm mục tiêu các dịch vụ, chức năng hoặc điểm cuối khác nhau để gỡ lỗi vi dịch vụ và ứng dụng serverless. Sử dụng các cấu hình khởi chạy hỗn hợp để chạy các mục tiêu này cùng nhau.
Đối với không gian làm việc nhiều gốc, hãy tạo các tệp launch.json riêng cho từng thư mục. Định cấu hình cài đặt khởi chạy cho từng thư mục gốc riêng lẻ để gỡ lỗi các dự án một cách riêng biệt hoặc đồng thời bằng cách sử dụng các hợp chất.
Khắc phục sự cố Các sự cố thường gặp về launch.json
Đôi khi, việc gỡ lỗi có xu hướng gặp phải các lỗi của chính nó. Hãy xem xét một số vấn đề phổ biến và cách khắc phục chúng.
Lỗi xác thực giản đồ
Lỗi xác thực lược đồ xảy ra khi tệp launch.json có thuộc tính hoặc giá trị không hợp lệ. Để sửa lỗi lược đồ:
- Xem lại các thông báo lỗi từ bảng Sự cố.
- Cập nhật tệp launch.json theo thông tin từ thông báo lỗi.
Gỡ lỗi thất bại
Cài đặt khởi chạy không chính xác có thể gây ra lỗi gỡ lỗi.
- Kiểm tra cấu hình khởi chạy của bạn để tìm đường dẫn tệp không chính xác.
- Xác minh trình gỡ lỗi hoặc loại yêu cầu bị thiếu hoặc sai.
- Cập nhật cài đặt nếu cần.
Chẩn đoán các vấn đề về cấu hình khởi chạy
Để chẩn đoán sự cố với cấu hình khởi chạy:
- Cho phép ghi nhật ký chẩn đoán bằng cách đặt thuộc tính “dấu vết” thành “dài dòng”.
- Xem lại nhật ký đã tạo trong Bảng điều khiển gỡ lỗi để xác định và khắc phục mọi sự cố.
Mẹo cho launch.json
Sử dụng launch.json một cách tối ưu với các mẹo sau:
- Sử dụng các tên có ý nghĩa cho các cấu hình khởi chạy của bạn để dễ dàng nhận dạng chúng. Phương pháp này giúp bạn nhanh chóng tìm thấy cấu hình phù hợp khi làm việc với nhiều tình huống gỡ lỗi.
- Chia sẻ cấu hình khởi chạy với nhóm của bạn bằng cách đưa tệp launch.json vào hệ thống kiểm soát phiên bản của dự án. Mọi thành viên trong nhóm đều có thể truy cập vào các cài đặt và cấu hình gỡ lỗi giống nhau.
- Các hệ thống kiểm soát phiên bản như Git có thể theo dõi các thay đổi đối với tệp launch.json của bạn. Bạn có thể sử dụng kiểm soát phiên bản để hoàn nguyên về các cấu hình trước đó và cộng tác với các thành viên khác trong nhóm bằng cách chia sẻ các cài đặt được đề xuất với họ.
- Cài đặt các tiện ích mở rộng hỗ trợ các ngôn ngữ, trình gỡ lỗi hoặc công cụ cụ thể phù hợp với nhu cầu của dự án. Định cấu hình tệp launch.json để sử dụng các tiện ích mở rộng này và các tính năng của chúng trong các phiên gỡ lỗi.
Khởi chạy vào gỡ lỗi
Bằng cách khai thác sức mạnh của launch.json, bạn có thể điều chỉnh trải nghiệm gỡ lỗi sao cho phù hợp nhất với phong cách viết mã của mình. Điều này sẽ nâng cao chất lượng và hiệu suất của mã của bạn.
Bạn có thường xuyên định cấu hình cài đặt khởi chạy của mình không? Bạn có mẹo cấu hình nào không? Hãy chia sẻ kinh nghiệm của bạn trong phần bình luận bên dưới.