Không thể khởi chạy trình gỡ lỗi visual studio python
Theo dõi các biến, sử dụng các điểm dừng có điều kiện, ngăn xếp cuộc gọi, điểm dừng ngoại lệ, v.v— khi làm việc trên các dự án lớn hơnKiểm tra xung nhanh — Bạn vẫn đang sử dụng các câu lệnh Show
Phải nói rằng, đó không phải là một giải pháp bền vững khi làm việc với các dự án lớn hơn - liên quan đến vô số gói của bên thứ ba, thư mục sử dụng, thư mục, thư mục con - nơi rất dễ bị mất dấu dòng mã Đây là động lực chính đằng sau việc học tất cả những điều cơ bản mà Mã VS phải cung cấp để gỡ lỗi mã. Đây là chia sẻ tương tự với bạn Khái niệm cơ bản về trình gỡ lỗi VSCodeĐể cho ngắn gọn, tôi sẽ giữ mọi thứ đơn giản và thảo luận đủ chi tiết để giúp bạn bắt đầu. Để biết thêm thông tin, vui lòng xem tài liệu chính thức của họ dự án giảChúng tôi sẽ làm việc trên một dự án giả. Hiện tại, nó chứa một tập lệnh GitHub - V-Sher/medium_debugger. Cách tận dụng tối đa trình gỡ lỗi VSCodeBạn không thể thực hiện hành động đó vào lúc này. Bạn đã đăng nhập bằng tab hoặc cửa sổ khác. Bạn đã đăng xuất trong một tab khác hoặc…github. com Để kiểm tra độ chính xác, hãy chạy tập lệnh để xem đầu ra trong thiết bị đầu cuối của bạn xin chào. pyKhởi chạy cấu hìnhHãy tiếp tục và tạo một tệp Điều này sẽ tạo một thư mục Hãy bắt đầu gỡ lỗiĐể kiểm tra trạng thái của mã tại một dòng cụ thể, chúng ta phải thêm một điểm dừng cho nó. Chúng thường sẽ hiển thị dưới dạng các vòng tròn màu đỏ ở lề trình chỉnh sửa. Chẳng hạn, tôi đã thêm một điểm dừng tại vòng lặp ______6 (xem hình bên dưới) Thêm một điểm dừng tại vòng lặp for trong xin chào. py Bây giờ, chúng ta có thể bắt đầu gỡ lỗi tập lệnh bằng cách nhấp vào nút phát màu xanh lục ( mẹo chuyên nghiệp. Đảm bảo bạn mở đúng tệp trong trình chỉnh sửa trước khi bắt đầu gỡ lỗi vì theo mặc định, trình gỡ lỗi sẽ bắt đầu gỡ lỗi tệp hiện đang hoạt động Khi bắt đầu quá trình sửa lỗi, đây là những gì bạn sẽ thấy Vài điều cần lưu ý
Kể từ đây, bạn có một số tùy chọn gỡ lỗi như một phần của thanh công cụ gỡ lỗi
nút tiếp tụcNhấp vào nút Tiếp tục trong thanh công cụ gỡ lỗi sẽ thực thi mọi thứ cho đến điểm ngắt tiếp theo. Vì chúng ta đang ở trong một vòng lặp for nên điểm ngắt tiếp theo sẽ thực sự giống với điểm dừng hiện tại Hãy thử làm điều này và xem những gì chúng ta nhận được Ghi chú. Nếu chúng ta đã thêm một điểm dừng trong câu lệnh Vài điều cần lưu ý
Bây giờ, chúng ta có thể tiếp tục nhấp vào tùy chọn Continue và chúng ta sẽ thấy các biến Để thử điều đó, hiện tại chúng ta phải dừng trình gỡ lỗi (bằng cách sử dụng nút Dừng trên thanh công cụ gỡ lỗi) và thực hiện một số thay đổi đối với chính tập lệnh. Thay vì in tên tệp, bây giờ chúng ta sẽ in các đường dẫn tuyệt đối bằng cách sử dụng Như đã làm trước đây
Bây giờ, giả sử chúng ta muốn kiểm tra những gì đang diễn ra bên trong vòng lặp Nút bước quaNhư tên cho thấy, trình gỡ lỗi đã chuyển sang dòng tiếp theo sau điểm ngắt (được đánh dấu bằng màu vàng) Vài điều cần lưu ý
Khi bạn đã đặt điểm dừng, bạn có thể nhấp lại vào nút Bước qua và trình gỡ lỗi sẽ dừng ở câu lệnh Đây là một cách tốt để kiểm tra xem các định nghĩa hàm có nhận được các đối số chính xác hay không. Tuy nhiên, chúng tôi vẫn không biết giá trị thực tế sẽ được trả về bởi Đây là nơi tôi cũ sẽ sử dụng câu lệnh Thay vào đó, chúng ta có thể sử dụng chức năng Xem trong trình gỡ lỗi. Nhập biểu thức bạn muốn xem/lấy giá trị và nhấn Enter (xem hình bên dưới). Và thì đấy, bạn có thể thấy giá trị thực của biểu thức
Kể từ đây, giờ đây bạn có thể hoàn tất việc điều hướng/gỡ lỗi thông qua mã của mình bằng nút Tiếp tục và Bước qua, cùng với chức năng Xem Khi bạn đã hoàn thành, đã đến lúc thực hiện thêm một số thay đổi đối với mã. Chúng tôi sẽ cơ cấu lại mã và chuyển Nhanh chóng cập nhật mã để nhập phương thức trong vòng Bây giờ hãy thử gỡ lỗi tập lệnh Bước Vào/Ra nútKhi đã ở trong điểm dừng tại Lý tưởng nhất là điều này sẽ đưa trình gỡ lỗi vào phần định nghĩa hàm bên trong mô-đun Để bật gỡ lỗi mã không do người dùng viết, hãy đặt Bây giờ hãy thử khởi động lại trình gỡ lỗi và khi trình gỡ lỗi đạt đến điểm dừng Điểm dừng có điều kiệnGiả sử bạn đã hiểu cách thức hoạt động của trình gỡ lỗi khi xem xét một vài lần lặp lại vòng lặp Đây là nơi các điểm dừng có điều kiện xuất hiện trong bức tranh. Hãy xem làm thế nào để làm điều đó. (Để đơn giản, chúng ta sẽ vô hiệu hóa breakpoint trong
Bây giờ, khi bạn khởi động lại trình gỡ lỗi, nó sẽ tự động bỏ qua bốn lần lặp lại đầu tiên và sẽ kích hoạt điểm ngắt tại mẹo chuyên nghiệp 1. Bạn cũng có thể chỉ định điểm ngắt để kích hoạt dựa trên số lần truy cập
Chẳng hạn, bạn có thể chỉ muốn kích hoạt điểm dừng cho một số tệp cuối cùng (có thể là do bạn muốn kiểm tra chi tiết chúng). Bạn có thể làm như vậy bằng cách chọn Lượt truy cập từ menu thả xuống (thay vì Biểu thức) và đặt thành mẹo chuyên nghiệp 2. Chúng tôi thậm chí có thể ghi một thông báo (vào Bảng điều khiển gỡ lỗi) mỗi khi điểm ngắt được nhấn. Để làm như vậy, hãy chọn Thông báo nhật ký từ menu thả xuống (thay vì Biểu thức) và đặt nó thành một số văn bản thuần túy và/hoặc biểu thức sẽ được đánh giá trong dấu ngoặc nhọn. Ví dụ đơn giản, chúng ta sẽ ghi nhật ký giá trị cập nhật của ngăn xếp cuộc gọiThông thường, khi làm việc với các dự án lớn hơn, bạn rất dễ mất dấu dòng mã. Với rất nhiều điểm dừng, cuối cùng bạn có thể tự hỏi làm thế nào bạn kết thúc trong tệp này và quan trọng hơn, bạn kết thúc ở đây từ đâu
Trình gỡ lỗi VSCode có thể cung cấp một số trợ giúp về mặt đó bằng cách sử dụng cửa sổ Ngăn xếp cuộc gọi hiển thị phân cấp cuộc gọi Để giới thiệu tiện ích, chúng tôi sẽ làm cho dự án hiện tại lớn hơn một chút bằng cách giới thiệu Hãy nhanh chóng cập nhật Nói chung, chúng ta sẽ thiết lập bốn điểm ngắt trong dự án của mình (xem hình bên dưới)
Mặc dù đây có vẻ như là một ví dụ tầm thường, đây là cách chúng ta có thể xem xét hệ thống phân cấp cuộc gọi
Vài điều cần lưu ý
Hy vọng rằng điều đó có ý nghĩa và không trở thành một trong những điều tôi biết rằng bạn biết rằng tôi biết rằng bạn biết…. Điều Thưởng. Điểm dừng ngoại lệThực hành lập trình tốt thực thi việc sử dụng xử lý lỗi bằng cách sử dụng các khối thử bắt. Do đó, trình gỡ lỗi có thể bỏ qua chúng và mã sẽ không bị hỏng. Nhưng điều gì sẽ xảy ra nếu bạn muốn dừng trình gỡ lỗi một cách rõ ràng bất cứ khi nào một ngoại lệ được đưa ra và/hoặc phát sinh
Để chứng minh điều này, hãy thay đổi mã lần cuối và bao gồm một số khối thử-ngoại trừ xin chào. pyNếu bạn chạy tập lệnh độc lập này (không có trình gỡ lỗi), nó sẽ chạy tốt, không có bất kỳ lỗi nào. Mặc dù gặp sự cố khi không tìm thấy Phải nói rằng, có vẻ hữu ích khi phá vỡ VSCode trong những trường hợp như vậy. Để làm như vậy, hãy đi tới cửa sổ Điểm dừng và đảm bảo hộp kiểm bên cạnh Các ngoại lệ đã tăng được đánh dấu (các Ngoại lệ chưa được xử lý được kích hoạt theo mặc định) Điểm dừng ngoại lệBây giờ khi bạn thử chạy Gỡ lỗi là một trong những kỹ năng tôi học được dưới 80 của Pareto. quy tắc 20. Có thể mất một chút thời gian để tìm hiểu các khía cạnh khác nhau của nó nhưng một khi đã thành thạo, nó có thể được áp dụng cho tất cả các dự án mà bạn sẽ thực hiện. Một điều quan trọng cần lưu ý là chúng ta có thể đặt/chỉnh sửa bao nhiêu điểm dừng tùy ý trong khi trình gỡ lỗi đang chạy, tuy nhiên, chúng ta không thể tự thay đổi mã. Trước tiên, chúng tôi phải dừng trình gỡ lỗi, thực hiện các thay đổi rồi khởi động lại trình gỡ lỗi Như mọi khi, nếu có một cách dễ dàng hơn để thực hiện/giải thích một số nội dung được đề cập trong bài viết này, hãy cho tôi biết. Nói chung, hãy kiềm chế những bình luận phá hoại/rác rưởi/thù địch không được yêu cầu Cho đến lần sau ✨ Tôi thích viết hướng dẫn từng bước cho người mới bắt đầu, hướng dẫn cách thực hiện, câu hỏi phỏng vấn, giải mã thuật ngữ được sử dụng trong ML/AI, v.v. Nếu bạn muốn có toàn quyền truy cập vào tất cả các bài viết của tôi (và những bài khác trên Phương tiện), thì bạn có thể đăng ký bằng liên kết của tôi tại đây Tại sao trình gỡ lỗi Mã VS của tôi không hoạt động?Trình gỡ lỗi không hoạt động
. Nhìn vào bảng điều khiển trình gỡ lỗi để biết bất kỳ thông báo lỗi nào được hiển thị. Xem đầu ra của bảng điều khiển Công cụ gỡ lỗi để biết bất kỳ lỗi nào. Hãy nhớ khởi động lại Mã VS sau khi hoàn tất (điều này sẽ không cần thiết trong bản phát hành trong tương lai). it is possible VS Code is displaying some errors that could provide a hint. Look at the debugger console for any error messages displayed. Look at the Debugger Tools console output for any errors. Remember to re-start VS Code once done (this won't be necessary in a future release).
Tại sao điểm dừng không hoạt động với Mã VS?Nếu tệp nguồn đã thay đổi và nguồn không còn khớp với mã bạn đang gỡ lỗi, trình gỡ lỗi sẽ không đặt điểm dừng trong mã theo mặc định . Thông thường, sự cố này xảy ra khi tệp nguồn bị thay đổi nhưng mã nguồn không được xây dựng lại. Để khắc phục sự cố này, hãy xây dựng lại dự án.
Khởi chạy json ở đâu trong Mã VS?Ra mắt. json nằm ở trong một. thư mục vscode trong không gian làm việc của bạn (thư mục gốc của dự án) .
Tại sao PyCharm không gỡ lỗi?Đối mặt với cùng một vấn đề và thậm chí đã thử các phiên bản PyCharm khác nhau mà không thành công. Cuối cùng, lý do khiến bảng điều khiển gỡ lỗi không hoạt động là ở đâu đó trong hệ thống repo. ra ngoài và hệ thống. stderr đã bị ghi đè |