Tên javascript
Trình chỉnh sửa Visual Studio Code có hỗ trợ gỡ lỗi tích hợp cho Nút. js và có thể gỡ lỗi JavaScript, TypeScript và nhiều ngôn ngữ khác được dịch sang JavaScript. Thiết lập một dự án cho Node. gỡ lỗi js rất đơn giản với Mã VS cung cấp các đoạn mã và mặc định cấu hình khởi chạy phù hợp Show
Có một số cách bạn có thể gỡ lỗi Node của mình. các chương trình js trong Mã VS
Tự động đính kèmNếu tính năng Tự động đính kèm được bật, trình gỡ lỗi Nút sẽ tự động đính kèm vào một số Nút nhất định. js đã được khởi chạy từ Thiết bị đầu cuối tích hợp của Mã VS. Để bật tính năng này, hãy sử dụng lệnh Toggle Auto Attach từ Command Palette ( ⇧⌘P (Windows, Linux Ctrl+Shift+P)) or, if it's already activated, use the Auto Attach Status bar item. Có ba chế độ để đính kèm tự động mà bạn có thể chọn trong phần Chọn nhanh kết quả và thông qua gỡ lỗi. jav. cài đặt autoAttachFilter
Sau khi bật Tự động đính kèm, bạn sẽ cần khởi động lại thiết bị đầu cuối của mình. Điều này có thể được thực hiện bằng cách nhấp vào biểu tượng ⚠ ở trên cùng bên phải của thiết bị đầu cuối hoặc chỉ cần tạo một biểu tượng mới. Sau đó, trình gỡ lỗi sẽ đính kèm vào chương trình của bạn trong vòng một giây Khi bật tự động đính kèm, mục 5 sẽ xuất hiện trên thanh trạng thái ở cuối cửa sổ Mã VS. Nhấn vào nó cho phép bạn thay đổi chế độ tự động đính kèm hoặc tạm thời tắt nó đi. Việc tạm thời tắt tự động đính kèm sẽ hữu ích nếu bạn đang chạy một số chương trình dùng một lần mà bạn không cần gỡ lỗi, nhưng bạn không muốn tắt hoàn toàn tính năng nàyCấu hình bổ sungThuộc tính cấu hình khởi chạy khác Bạn có thể áp dụng các thuộc tính khác thường thấy khi khởi chạy. json để tự động đính kèm trong gỡ lỗi. jav. thiết lập terminalOptions. Ví dụ: để thêm phần bên trong nút vào SkipFiles của bạn, bạn có thể thêm phần sau vào cài đặt người dùng hoặc không gian làm việc của mình ________số 8Tự động đính kèm các mẫu thông minh Trong chế độ Tự động đính kèm của 8, Mã VS sẽ cố gắng đính kèm vào mã của bạn và không đính kèm vào các công cụ xây dựng mà bạn không quan tâm đến việc gỡ lỗi. Nó thực hiện điều này bằng cách khớp tập lệnh chính với danh sách các mẫu toàn cầu. Các mẫu toàn cầu có thể định cấu hình trong gỡ lỗi. jav. cài đặt autoAttachSmartPattern, mặc định là 0 7 được thay thế bằng một danh sách 'người chạy mã' phổ biến, chẳng hạn như 8, 9, 40, v.v. Bạn có thể sửa đổi danh sách này nếu các cài đặt này không hoạt động. Ví dụ: để loại trừ 9 và bao gồm 42, bạn có thể thêm hai dòng
Thiết bị đầu cuối gỡ lỗi JavaScriptTheo cách tương tự để tự động đính kèm, JavaScript Debug Terminal sẽ tự động gỡ lỗi bất kỳ Nút nào. js mà bạn chạy trong đó. Bạn có thể tạo Debug Terminal bằng cách chạy Debug. Tạo lệnh đầu cuối Gỡ lỗi JavaScript từ Bảng lệnh ( 43) hoặc bằng cách chọn Tạo đầu cuối gỡ lỗi JavaScript từ menu thả xuống của trình chuyển đổi đầu cuốiCấu hình bổ sungThuộc tính cấu hình khởi chạy khác Bạn có thể áp dụng các thuộc tính khác thường thấy khi khởi chạy. json vào thiết bị đầu cuối gỡ lỗi trong gỡ lỗi. jav. thiết lập terminalOptions. Ví dụ: để thêm phần bên trong nút vào SkipFiles của bạn, bạn có thể thêm phần sau vào cài đặt người dùng hoặc không gian làm việc của mình
Khởi chạy cấu hìnhCấu hình khởi chạy là cách truyền thống để thiết lập gỡ lỗi trong Mã VS và cung cấp cho bạn nhiều tùy chọn cấu hình nhất để chạy các ứng dụng phức tạp Trong phần này, chúng ta sẽ đi vào chi tiết hơn về các cấu hình và tính năng cho các tình huống gỡ lỗi nâng cao hơn. Bạn sẽ tìm thấy hướng dẫn gỡ lỗi bằng bản đồ nguồn, chuyển qua mã bên ngoài, thực hiện gỡ lỗi từ xa, v.v. Nếu bạn muốn xem video giới thiệu, hãy xem Bắt đầu với Node. gỡ lỗi js
Khởi chạy các thuộc tính cấu hìnhCấu hình gỡ lỗi được lưu trữ trong tệp 44 nằm trong thư mục 46 của không gian làm việc của bạn. Phần giới thiệu về việc tạo và sử dụng các tệp cấu hình gỡ lỗi có trong bài viết Gỡ lỗi chungDưới đây là tài liệu tham khảo về các thuộc tính chung của 44 dành riêng cho Nút. trình gỡ lỗi js. Bạn có thể xem bộ tùy chọn đầy đủ trong tài liệu tùy chọn vscode-js-debugCác thuộc tính sau được hỗ trợ trong các cấu hình khởi chạy loại 48 và 49
Các thuộc tính này chỉ khả dụng cho cấu hình khởi chạy của loại yêu cầu 48
Thuộc tính này chỉ khả dụng cho các cấu hình khởi chạy của loại yêu cầu 49
Khởi chạy cấu hình cho các tình huống phổ biếnBạn có thể kích hoạt IntelliSense ( ⌃Space (Windows, Linux Ctrl+Space)) in your 44 file to see launch configuration snippets for commonly used Node.js debugging scenarios.Bạn cũng có thể hiển thị các đoạn mã với Thêm cấu hình. nút ở phía dưới bên phải của cửa sổ soạn thảo 44Đây là những đoạn có sẵn
Bảng điều khiển nútTheo mặc định, Nút. phiên gỡ lỗi js khởi chạy mục tiêu trong Bảng điều khiển gỡ lỗi mã VS nội bộ. Vì Bảng điều khiển gỡ lỗi không hỗ trợ các chương trình cần đọc đầu vào từ bảng điều khiển, nên bạn có thể kích hoạt thiết bị đầu cuối bên ngoài hoặc sử dụng Thiết bị đầu cuối tích hợp mã VS bằng cách đặt thuộc tính 69 trong cấu hình khởi chạy của bạn thành 62 hoặc 61 tương ứng. Mặc định là 60Nếu sử dụng thiết bị đầu cuối bên ngoài, bạn có thể định cấu hình chương trình thiết bị đầu cuối nào sẽ sử dụng thông qua cài đặt ________ 1000, ________ 1001 và _____ 1002 Khởi chạy hỗ trợ cấu hình cho 'npm' và các công cụ khácThay vì khởi chạy Node. js trực tiếp với nút, bạn có thể sử dụng tập lệnh 'npm' hoặc các công cụ chạy tác vụ khác trực tiếp từ cấu hình khởi chạy
Hãy xem một ví dụ về 'npm'. Ví dụ: nếu 006 của bạn có tập lệnh 'gỡ lỗi' 4cấu hình khởi chạy tương ứng sẽ như thế này 6Hỗ trợ nhiều phiên bảnNếu bạn đang sử dụng 'nvm' (hoặc 'nvm-windows') để quản lý Nút của mình. js, có thể chỉ định thuộc tính 66 trong cấu hình khởi chạy để chọn một phiên bản Node cụ thể. js 6Nếu bạn đang sử dụng 'nvs' để quản lý Nút của mình. js, có thể sử dụng thuộc tính 66 để chọn phiên bản, kiến trúc và hương vị cụ thể của Node. js chẳng hạn 6Đảm bảo có các Nút đó. js đã cài đặt mà bạn muốn sử dụng với thuộc tính 66, vì tính năng này sẽ không tự động tải xuống và cài đặt phiên bản. Ví dụ: bạn sẽ phải chạy thứ gì đó như 010 hoặc 011 từ thiết bị đầu cuối tích hợp nếu bạn định thêm 012 vào cấu hình khởi chạy của mìnhNếu bạn bỏ qua phiên bản nhỏ và bản vá và có, chẳng hạn như 013, thì phiên bản 014 mới nhất được cài đặt trên hệ thống của bạn sẽ được sử dụngTải các biến môi trường từ tệp bên ngoàiTrình gỡ lỗi VS Code Node hỗ trợ tải các biến môi trường từ một tệp và chuyển chúng tới Nút. thời gian chạy js. Để sử dụng tính năng này, hãy thêm thuộc tính 68 vào cấu hình khởi chạy của bạn và chỉ định đường dẫn tuyệt đối tới tệp chứa các biến môi trường 6Bất kỳ biến môi trường nào được chỉ định trong từ điển 67 sẽ ghi đè các biến được tải từ tệpĐây là một ví dụ về tệp 017 6Gắn vào nút. jsNếu bạn muốn đính kèm trình gỡ lỗi Mã VS vào Nút bên ngoài. chương trình js, khởi chạy Node. js như sau 00hoặc nếu chương trình không bắt đầu chạy mà phải đợi trình gỡ lỗi đính kèm 01Bây giờ bạn có một số tùy chọn để đính kèm trình gỡ lỗi vào chương trình của mình
Hãy đi qua các tùy chọn này một cách chi tiết Đính kèm với hành động Quy trình nútLệnh Đính kèm quy trình nút từ Bảng lệnh ( ⇧⌘P (Windows, Linux . trình gỡ lỗi js. )) opens a Quick Pick menu that lists all potential processes that are available to the Node.js debugger: Các quy trình riêng lẻ được liệt kê trong bộ chọn hiển thị cổng gỡ lỗi và ID quy trình. Sau khi bạn chọn Nút của mình. js trong danh sách đó, Node. trình gỡ lỗi js sẽ cố gắng đính kèm vào nó Ngoài nút. js, bộ chọn cũng hiển thị các chương trình khác đã được khởi chạy với một trong các đối số 3 dạng khác nhau. Điều này giúp có thể đính kèm vào các quy trình trợ giúp của Electron hoặc VS CodeThiết lập cấu hình "Đính kèm"Tùy chọn này yêu cầu nhiều công việc hơn nhưng trái ngược với hai tùy chọn trước, tùy chọn này cho phép bạn định cấu hình rõ ràng các tùy chọn cấu hình gỡ lỗi khác nhau Cấu hình "đính kèm" đơn giản nhất trông như thế này 02Cổng 019 là cổng gỡ lỗi mặc định của các tùy chọn 3 và 4. Để sử dụng một cổng khác (ví dụ: 022), hãy thêm nó vào các tùy chọn như thế này. 023 và 024 và thay đổi thuộc tính 68 trong cấu hình khởi chạy để phù hợpNếu bạn muốn đính kèm vào một nút. js chưa được bắt đầu ở chế độ gỡ lỗi, bạn có thể thực hiện việc này bằng cách chỉ định ID tiến trình của Nút. js xử lý dưới dạng chuỗi 03Vì việc liên tục tìm ID quy trình và nhập nó vào cấu hình khởi chạy sẽ hơi mất công, nên gỡ lỗi Node hỗ trợ một biến lệnh 026 sẽ mở bộ chọn quy trình (từ phía trên)Sử dụng biến 026, cấu hình khởi chạy trông như thế này 04Dừng gỡ lỗiSử dụng Gỡ lỗi. Hành động dừng (có sẵn trong thanh công cụ Gỡ lỗi hoặc qua Bảng lệnh) dừng phiên gỡ lỗi Nếu phiên gỡ lỗi được bắt đầu ở chế độ "đính kèm" (và nút kết thúc màu đỏ trên thanh công cụ Gỡ lỗi hiển thị "phích cắm" được xếp chồng lên nhau), nhấn Dừng sẽ ngắt kết nối Nút. js từ trình gỡ lỗi mà sau đó tiếp tục thực thi Nếu phiên gỡ lỗi ở chế độ "khởi chạy", nhấn Dừng sẽ thực hiện như sau
Vì vậy, nếu bạn thấy phiên gỡ lỗi không kết thúc khi bạn nhấn nút Dừng màu đỏ, hãy nhấn lại nút này để buộc tắt trình gỡ lỗi Lưu ý rằng trên hệ điều hành Windows, nhấn Stop luôn giết chết trình gỡ lỗi và các tiến trình con của nó bản đồ nguồnTrình gỡ lỗi JavaScript của Mã VS hỗ trợ các bản đồ nguồn giúp gỡ lỗi các ngôn ngữ được phiên mã, ví dụ: TypeScript hoặc JavaScript được rút gọn/xấu xí. Với bản đồ nguồn, có thể thực hiện từng bước hoặc đặt điểm ngắt trong nguồn ban đầu. Nếu không có bản đồ nguồn nào cho nguồn ban đầu hoặc nếu bản đồ nguồn bị hỏng và không thể ánh xạ thành công giữa nguồn và JavaScript được tạo, thì các điểm dừng sẽ hiển thị dưới dạng chưa được xác minh (các vòng tròn rỗng màu xám) Tính năng bản đồ nguồn được kiểm soát bởi thuộc tính 030 mặc định là 031. Điều này có nghĩa là trình gỡ lỗi luôn cố gắng sử dụng bản đồ nguồn (nếu nó có thể tìm thấy bất kỳ bản đồ nào) và do đó, bạn thậm chí có thể chỉ định tệp nguồn (ví dụ: ứng dụng. ts) với thuộc tính 60. Nếu bạn cần tắt bản đồ nguồn vì lý do nào đó, bạn có thể đặt thuộc tính 030 thành 034Cấu hình công cụVì các bản đồ nguồn không phải lúc nào cũng được tạo tự động, bạn nên đảm bảo định cấu hình bộ chuyển mã của mình để tạo chúng. Ví dụ bản đánh máy Đối với TypeScript, bạn có thể bật các bản đồ nguồn bằng cách chuyển 035 đến 036 hoặc bằng cách thêm 037 vào tsconfig của bạn. tập tin json 05Ba-bên Đối với Babel, bạn sẽ muốn đặt tùy chọn sourceMaps thành 031 hoặc chuyển tùy chọn 039 khi biên dịch mã của mình 06gói web Webpack có nhiều tùy chọn bản đồ nguồn. Chúng tôi khuyên bạn nên đặt thuộc tính 040 trong 041 của mình để có kết quả trung thực nhất, mặc dù bạn có thể thử nghiệm với các cài đặt khác gây ra sự chậm chạp trong bản dựng của bạnNgoài ra, nếu bạn có các bước biên dịch bổ sung trong gói web, chẳng hạn như sử dụng trình tải TypeScript, bạn cũng sẽ muốn đảm bảo rằng các bước đó được thiết lập để tạo bản đồ nguồn. Mặt khác, các bản đồ nguồn mà webpack tạo ra sẽ ánh xạ trở lại mã được biên dịch từ trình tải, thay vì các nguồn thực Khám phá bản đồ nguồnTheo mặc định, Mã VS sẽ tìm kiếm toàn bộ không gian làm việc của bạn, ngoại trừ 9, để tìm bản đồ nguồn. Trong không gian làm việc lớn, tìm kiếm này có thể chậm. Bạn có thể định cấu hình các vị trí mà Mã VS sẽ tìm kiếm bản đồ nguồn bằng cách đặt thuộc tính 60 trong 44 của bạn. Ví dụ: cấu hình này sẽ chỉ khám phá các bản đồ nguồn cho các tệp 045 trong thư mục 046 07Lưu ý rằng 60 phải khớp với tệp JavaScript của bạn, không phải tệp bản đồ nguồn (có thể kết thúc bằng 048 thay vì 045)Độ phân giải bản đồ nguồnTheo mặc định, chỉ bản đồ nguồn trong 60 của bạn mới được giải quyết. Hành vi này được sử dụng để ngăn các phần phụ thuộc can thiệp vào các điểm dừng mà bạn đã đặt. Ví dụ: nếu bạn có tệp 051 và một phần phụ thuộc có bản đồ nguồn tham chiếu đến 052, điều đó sẽ giải quyết sai tệp nguồn của bạn và có thể dẫn đến kết quả đáng ngạc nhiênBạn có thể định cấu hình hành vi này bằng cách đặt tùy chọn 61. Nếu được đặt thành 054, mọi bản đồ nguồn sẽ được giải quyết. Ví dụ: cấu hình này sẽ bổ sung cho phép giải quyết các bản đồ nguồn trong 055 08Bước đi thông minhVới thuộc tính 66 được đặt thành 031 trong cấu hình khởi chạy, Mã VS sẽ tự động bỏ qua 'mã không thú vị' khi chuyển qua mã trong trình gỡ lỗi. 'Mã không thú vị' là mã được tạo bởi quá trình phiên mã nhưng không được bao phủ bởi bản đồ nguồn nên mã không ánh xạ trở lại nguồn ban đầu. Mã này cản trở bạn khi duyệt qua mã nguồn trong trình gỡ lỗi vì nó làm cho trình gỡ lỗi chuyển đổi giữa mã nguồn ban đầu và mã được tạo mà bạn không quan tâm. 66 sẽ tự động chuyển qua mã không được bao phủ bởi bản đồ nguồn cho đến khi nó đến vị trí được bao phủ bởi bản đồ nguồn một lần nữaBước thông minh đặc biệt hữu ích cho các trường hợp như không đồng bộ/chờ biên dịch xuống trong TypeScript, trong đó trình biên dịch đưa mã trợ giúp không có trong bản đồ nguồn Tính năng 66 chỉ áp dụng cho mã JavaScript được tạo từ nguồn và do đó có bản đồ nguồn. Đối với JavaScript không có nguồn, tùy chọn bước thông minh không có tác dụngMẹo bản đồ nguồn JavaScriptMột vấn đề phổ biến khi gỡ lỗi với bản đồ nguồn là bạn sẽ đặt một điểm dừng và điểm ngắt sẽ chuyển sang màu xám. Nếu bạn di chuột qua nó, bạn sẽ thấy thông báo, 060. Gì bây giờ? . Đầu tiên, giải thích nhanh về cách bộ điều hợp gỡ lỗi Node xử lý bản đồ nguồnKhi bạn đặt điểm ngắt trong 061, bộ điều hợp gỡ lỗi phải tìm ra đường dẫn đến 062, phiên bản đã biên dịch của tệp TypeScript của bạn, đây là nội dung thực sự đang chạy trong Node. Tuy nhiên, không có cách nào đơn giản để tìm ra điều này bắt đầu từ tệp 063. Thay vào đó, bộ điều hợp gỡ lỗi sử dụng thuộc tính 60 trong 44 để tìm tất cả các tệp 045 đã phiên mã và phân tích cú pháp chúng để tạo bản đồ nguồn chứa vị trí của các tệp 063 được liên kết của nóKhi bạn xây dựng tệp 061 của mình trong TypeScript với bản đồ nguồn được bật, tệp này sẽ tạo tệp 069 hoặc bản đồ nguồn được đặt trong chuỗi dưới dạng chuỗi được mã hóa base64 trong nhận xét ở cuối tệp 062. Để tìm các tệp 063 được liên kết với bản đồ này, bộ điều hợp gỡ lỗi sẽ xem xét hai thuộc tính trong bản đồ nguồn, 072 và 073. 073 là tùy chọn - nếu có, nó được thêm vào trước mỗi đường dẫn trong 072, là một mảng các đường dẫn. Kết quả là một mảng các đường dẫn tuyệt đối hoặc tương đối đến tệp 063. Đường dẫn tương đối được giải quyết liên quan đến bản đồ nguồnCuối cùng, bộ điều hợp gỡ lỗi tìm kiếm đường dẫn đầy đủ của 061 trong danh sách kết quả gồm các tệp 063 này. Nếu trùng khớp, nó đã tìm thấy tệp bản đồ nguồn để sử dụng khi ánh xạ 061 đến 062. Nếu không khớp thì nó không thể liên kết điểm ngắt và nó sẽ chuyển sang màu xámDưới đây là một số điều cần thử khi điểm ngắt của bạn chuyển sang màu xám
Gỡ lỗi từ xa
Nếu bạn không thể sử dụng bất kỳ tiện ích mở rộng Phát triển từ xa nào để gỡ lỗi Nút của mình. js, bên dưới là hướng dẫn cách gỡ lỗi một Nút từ xa. js từ phiên bản Mã VS cục bộ của bạn nút. trình gỡ lỗi js hỗ trợ gỡ lỗi từ xa khi bạn đính kèm vào một quy trình đang chạy trên một máy khác hoặc trong một vùng chứa. Chỉ định máy chủ từ xa thông qua thuộc tính 69. Ví dụ 09Theo mặc định, Mã VS sẽ truyền nguồn được gỡ lỗi từ Nút từ xa. js vào Mã VS cục bộ và hiển thị nó trong trình chỉnh sửa chỉ đọc. Bạn có thể bước qua mã này, nhưng không thể sửa đổi nó. Thay vào đó, nếu bạn muốn Mã VS mở nguồn có thể chỉnh sửa từ không gian làm việc của mình, bạn có thể thiết lập ánh xạ giữa các vị trí từ xa và cục bộ. Thuộc tính 64 và 65 có thể được sử dụng để ánh xạ đường dẫn giữa dự án Mã VS cục bộ và Nút (từ xa). thư mục js. Điều này hoạt động ngay cả cục bộ trên cùng một hệ thống hoặc trên các hệ điều hành khác nhau. Bất cứ khi nào một đường dẫn mã cần được chuyển đổi từ Nút từ xa. js vào đường dẫn Mã VS cục bộ, đường dẫn 65 bị loại bỏ khỏi đường dẫn và được thay thế bằng 64. Đối với chuyển đổi ngược lại, đường dẫn 64 được thay thế bằng đường dẫn 65 0Truy cập tập lệnh đã tảiNếu bạn cần đặt điểm dừng trong tập lệnh không phải là một phần của không gian làm việc của mình và do đó không thể dễ dàng định vị và mở thông qua trình duyệt tệp VS Code thông thường, bạn có thể truy cập tập lệnh đã tải qua chế độ xem LOADED SCRIPTS trong chế độ xem Chạy và Gỡ lỗi Chế độ xem LOADED SCRIPTS cho phép bạn nhanh chóng chọn tập lệnh bằng cách nhập tên của tập lệnh hoặc lọc danh sách khi Bật Bộ lọc trên Loại Tập lệnh được tải vào trình chỉnh sửa chỉ đọc nơi bạn có thể đặt điểm dừng. Các điểm dừng này được ghi nhớ trong các phiên gỡ lỗi nhưng bạn chỉ có quyền truy cập vào nội dung tập lệnh trong khi phiên gỡ lỗi đang chạy Tự động khởi động lại các phiên gỡ lỗi khi nguồn được chỉnh sửaThuộc tính 67 của cấu hình khởi chạy kiểm soát xem Nút. trình gỡ lỗi js tự động khởi động lại sau khi phiên gỡ lỗi kết thúc. Tính năng này rất hữu ích nếu bạn sử dụng gật đầu để khởi động lại Node. js khi thay đổi tệp. Đặt thuộc tính cấu hình khởi chạy 67 thành 031 làm cho trình gỡ lỗi nút tự động cố gắng kết nối lại với Nút. js sau nút. js đã kết thúcNếu bạn đã bắt đầu chương trình của mình 00 thông qua gật đầu trên dòng lệnh như thế này 1bạn có thể đính kèm trình gỡ lỗi Mã VS với cấu hình khởi chạy sau 2Ngoài ra, bạn có thể bắt đầu chương trình của mình 00 trực tiếp qua gật đầu với cấu hình khởi chạy và đính kèm trình gỡ lỗi Mã VS 3
Khởi động lại khungTrình gỡ lỗi nút hỗ trợ khởi động lại thực thi tại khung ngăn xếp. Điều này có thể hữu ích trong các trường hợp bạn phát hiện ra sự cố trong mã nguồn của mình và bạn muốn chạy lại một phần nhỏ của mã với các giá trị đầu vào đã sửa đổi. Dừng và sau đó bắt đầu lại toàn bộ phiên gỡ lỗi có thể tốn thời gian. Hành động Khung khởi động lại cho phép bạn nhập lại chức năng hiện tại sau khi bạn đã thay đổi các biến bằng hành động Đặt giá trị Khởi động lại khung sẽ không khôi phục đột biến về trạng thái bên ngoài chức năng, do đó, nó có thể không luôn hoạt động như mong đợi Điểm dừngĐiểm dừng có điều kiệnĐiểm dừng có điều kiện là điểm dừng chỉ tạm dừng khi một biểu thức trả về giá trị trung thực. Bạn có thể tạo một cái bằng cách nhấp chuột phải vào máng xối bên cạnh số dòng và chọn "Điểm ngắt có điều kiện" Điểm đăng nhậpĐôi khi, bạn chỉ muốn ghi lại một thông báo hoặc giá trị khi mã chạm vào một vị trí nhất định, thay vì tạm dừng. Bạn có thể làm điều này với logpoint. Các điểm đăng nhập không tạm dừng mà thay vào đó ghi một thông báo vào Bảng điều khiển gỡ lỗi khi nhấn. Trong trình gỡ lỗi JavaScript, bạn có thể sử dụng dấu ngoặc nhọn để nội suy các biểu thức vào trong thư, chẳng hạn như 04Bạn có thể tạo một cái bằng cách nhấp chuột phải vào máng xối bên cạnh số dòng và chọn "Điểm đăng nhập". Ví dụ: điều này có thể ghi một cái gì đó như 05Số lần truy cập điểm dừng'Điều kiện đếm lượt truy cập' kiểm soát số lần điểm dừng cần được nhấn trước khi thực thi 'phá vỡ'. Bạn có thể đặt điểm ngắt số lần truy cập bằng cách nhấp chuột phải vào máng xối bên cạnh số dòng, chọn "Điểm dừng có điều kiện", sau đó chuyển sang "Số lần truy cập" Cú pháp đếm lần truy cập được hỗ trợ bởi Nút. trình gỡ lỗi js là một số nguyên hoặc một trong các toán tử 06, 07, 08, 09, 10, 11 theo sau là một số nguyênVài ví dụ
Xác thực điểm dừngVì lý do hiệu suất, Node. js phân tích cú pháp các hàm bên trong tệp JavaScript một cách lười biếng trong lần truy cập đầu tiên. Do đó, các điểm dừng không hoạt động trong các vùng mã nguồn chưa được Node nhìn thấy (phân tích cú pháp). js Vì hành vi này không lý tưởng để gỡ lỗi, Mã VS chuyển tùy chọn 17 cho Nút. js tự động. Điều này ngăn quá trình phân tích cú pháp bị trì hoãn và đảm bảo rằng các điểm dừng có thể được xác thực trước khi chạy mã (để chúng không còn "nhảy")Vì tùy chọn 17 có thể làm tăng đáng kể thời gian khởi động của mục tiêu gỡ lỗi, nên bạn có thể dễ dàng chọn không tham gia bằng cách chuyển 19 làm thuộc tính 65Khi làm như vậy, bạn sẽ thấy rằng một số điểm dừng của bạn không "dính" vào dòng được yêu cầu mà thay vào đó "nhảy" sang dòng có thể tiếp theo trong mã đã được phân tích cú pháp. Để tránh nhầm lẫn, Mã VS luôn hiển thị các điểm ngắt tại vị trí mà Nút. js nghĩ rằng điểm dừng là. Trong phần ĐIỂM ĐỘT PHÁ, các điểm ngắt này được hiển thị bằng một mũi tên giữa số dòng được yêu cầu và số dòng thực tế Xác thực điểm ngắt này xảy ra khi phiên bắt đầu và các điểm ngắt được đăng ký với Node. js hoặc khi một phiên đang chạy và một điểm ngắt mới được đặt. Trong trường hợp này, điểm dừng có thể "nhảy" đến một vị trí khác. Sau nút. js đã phân tích cú pháp tất cả mã (ví dụ: bằng cách chạy qua mã), bạn có thể dễ dàng áp dụng lại các điểm dừng cho các vị trí được yêu cầu bằng nút Áp dụng lại trong tiêu đề phần BREAKPOINTS. Điều này sẽ làm cho các điểm ngắt "nhảy ngược" về vị trí được yêu cầu Bỏ qua mã không thú vịNút mã VS. js có một tính năng để tránh mã nguồn mà bạn không muốn bước qua (còn được gọi là 'Chỉ mã của tôi'). Tính năng này có thể được bật bằng thuộc tính 67 trong cấu hình khởi chạy của bạn. 67 là một mảng các mẫu toàn cầu để bỏ qua các đường dẫn tập lệnhVí dụ, sử dụng 4tất cả mã trong thư mục 9 và 24 trong dự án của bạn sẽ bị bỏ qua. 67 cũng áp dụng cho vị trí được hiển thị khi gọi 26 và các phương thức tương tự. vị trí không thể bỏ qua đầu tiên trong ngăn xếp sẽ được hiển thị bên cạnh đầu ra trong Bảng điều khiển gỡ lỗiCác mô-đun lõi tích hợp của Node. js có thể được gọi bằng 'tên ma thuật' 27 theo mẫu hình cầu. Ví dụ sau bỏ qua tất cả các mô-đun bên trong 5Các quy tắc 'bỏ qua' chính xác như sau
Nguồn bị bỏ qua được hiển thị theo kiểu 'làm mờ' trong chế độ xem CALL STACK Di chuột qua các mục bị mờ giải thích lý do tại sao khung ngăn xếp bị mờ Một mục menu ngữ cảnh trên ngăn xếp cuộc gọi, Chuyển đổi bỏ qua tệp này cho phép bạn dễ dàng bỏ qua một tệp trong thời gian chạy mà không cần thêm tệp đó vào cấu hình khởi chạy của bạn. Tùy chọn này chỉ tồn tại cho phiên gỡ lỗi hiện tại. Bạn cũng có thể sử dụng nó để dừng bỏ qua một tệp bị bỏ qua bởi tùy chọn 67 trong cấu hình khởi chạy của bạn
Trong ví dụ sau ( 29 chỉ dành cho giao thức), tất cả trừ mô-đun 'toán học' đều bị bỏ qua 6
Thời gian chạy giống như nút được hỗ trợTrình gỡ lỗi VS Code JavaScript hiện tại hỗ trợ phiên bản Node từ 8 trở lên. x, các phiên bản Chrome gần đây và các phiên bản Edge gần đây (thông qua loại khởi chạy 33)Bước tiếp theoTrong trường hợp bạn chưa đọc Node. js, hãy xem
Để xem hướng dẫn về những điều cơ bản của Node. js, hãy xem các video này
Để tìm hiểu về hỗ trợ chạy tác vụ của VS Code, hãy truy cập
Để viết tiện ích mở rộng trình gỡ lỗi của riêng bạn, hãy truy cập
Câu hỏi thường gặpTôi có thể gỡ lỗi nếu tôi đang sử dụng liên kết tượng trưng không?Có, nếu bạn đã tạo liên kết tượng trưng cho các thư mục bên trong dự án của mình, chẳng hạn như với 63, bạn có thể gỡ lỗi các nguồn được liên kết tượng trưng bằng cách thông báo cho Nút. js để duy trì các đường dẫn được liên kết tượng trưng. sử dụng nút. exe chuyển đổi 35 trong cấu hình khởi chạy thuộc tính 65 của bạn. 65, một mảng các chuỗi, được chuyển đến tệp thực thi thời gian chạy phiên gỡ lỗi, mặc định là nút. người cũ 7Nếu tập lệnh chính của bạn nằm trong đường dẫn được liên kết tượng trưng, thì bạn cũng sẽ cần thêm tùy chọn 38. Tùy chọn này chỉ khả dụng trong Node 10+Làm cách nào để gỡ lỗi các mô-đun ECMAScript?Nếu bạn sử dụng esm hoặc chuyển 39 tới Node. js để sử dụng các mô-đun ECMAScript, bạn có thể chuyển các tùy chọn này thông qua thuộc tính 65 của 44 |