‫Chúng tôi sẽ quay lại trong video này và một vài video tiếp theo tôi muốn hướng dẫn bạn cách sử dụng
‫gỡ lỗi và Visual Studio.
‫Và ý tưởng đằng sau việc gỡ lỗi là loại bỏ các lỗi.
‫Và những lỗi đó đôi khi có thể khá dễ phát hiện bởi vì một khi bạn chạy chương trình và nó bắt đầu gặp
‫sự cố, thì bạn biết đấy, được rồi, bạn có một lỗi, nhưng đôi khi đó là một lỗi
‫logic, có nghĩa là nó sẽ không thực sự được nhìn thấy bởi ID của bạn, nhưng nó phải được phát hiện bởi bạn hoặc bởi người dùng của bạn, điều này hy vọng sẽ cho
‫bạn biết rằng bạn cần cải thiện nó hoặc cần phải loại bỏ lỗi này.
‫Và để cho bạn thấy hoặc chứng minh cho bạn chức năng gỡ lỗi trong Visual Studio, tôi đã tạo một chương trình
‫nhỏ ở đây.
‫Tôi đã chuẩn bị một công cụ nhỏ mà chúng tôi sẽ sử dụng cho việc này và công cụ này sẽ trở thành công cụ mời một người
‫bạn trong bữa tiệc.
‫Vì vậy, ý tưởng là con gái tôi vừa tròn ba tuổi và chúng tôi đã tổ chức một bữa tiệc nhỏ cho con bé và con
‫có thể mời một số bạn bè và tất nhiên con sẽ rất thích mời con cả lớp mẫu giáo, nhưng chúng tôi chỉ
‫cho phép con mời ba người bạn.
‫Vì vậy, bây giờ cô phải quyết định những người bạn mà cô muốn mời.
‫Và tất nhiên đó là một điều dễ dàng vì có một số người bạn mà cô ấy thích hơn những
‫người khác, nhưng cuối cùng tôi không biết những người bạn yêu thích của cô ấy là ai.
‫Vì vậy, nếu tôi phải quyết định xem cô ấy có thể mời ai, tôi sẽ viết một chương trình nhỏ nói rằng, được rồi,
‫tất cả mọi người với một cái tên ngắn gọn và tổng thể.
‫Vâng, tối đa trong trường hợp này, ba người có thể được mời tham dự bữa tiệc.
‫Vì vậy, cô ấy đặt tên cho tất cả bạn bè của chúng tôi.
‫Và sau đó tôi sẽ nói, được rồi, những người có tên ngắn nhất, ba người có tên ngắn
‫nhất sẽ được mời.
‫Và đó là công cụ ở đây.
‫Những gì tôi đã viết, đó chính xác là những gì nó làm.
‫Vì vậy, chúng tôi có danh sách này Frank, Joe, Michelle, Andy, Maria, Carlos và Angelina.
‫Và chúng tôi có phương pháp kết bạn bên này cần một danh sách và số lượng người mà nó nên chọn
‫từ danh sách đó.
‫Và sau đó chúng ta có một vòng lặp cho mỗi cái chỉ ghi tên của những người đó hoặc những đứa trẻ đó,
‫trong trường hợp của tôi, trên bảng điều khiển.
‫Được rồi.
‫Không có gì quá cầu kỳ.
‫Và thuật toán quyết định ai được mời và ai không. Phương pháp này ở đây và ở đây chúng tôi mời một người bạn tham gia hoặc chúng tôi
‫tìm ra ai là một người bạn của bữa tiệc.
‫Tất nhiên, chúng tôi cần một danh sách những người mà chúng tôi có thể kiểm tra.
‫Sau đó, chúng tôi kiểm tra tên ngắn nhất và chúng tôi luôn so sánh.
‫Vì vậy, chúng tôi đi qua tất cả những người trong danh sách và chúng tôi luôn so sánh.
‫Tên sẽ ngắn hơn độ dài cụ thể hoặc thành tên của những người khác?
‫Vì vậy, cuối cùng nó sẽ chỉ cho tôi những cái tên ngắn nhất.
‫Nhưng ở đây nội bộ tôi có một lỗi ở đây.
‫Được rồi.
‫Vì vậy, tôi sẽ so sánh tên lớn hơn ngắn nhất có độ dài đó.
‫Vì vậy, trong trường hợp này, tôi sẽ lấy tất cả các tên dài nhất, mặc dù tôi muốn lấy tất cả
‫các tên ngắn.
‫Đây chỉ là một lỗi có ý định mà tôi đã triển khai, vì bây giờ bạn có thể thấy rằng đây là điều mà
‫bạn có thể không nhận thấy.
‫Tất nhiên, đó là một lỗi logic và nếu chúng tôi chạy mã, nó vẫn sẽ chạy.
‫Sẽ không có lỗi hoặc không có lỗi.
‫Nó sẽ không sụp đổ, nó sẽ chỉ cung cấp cho chúng tôi những cái tên sai.
‫Nhưng bây giờ đối với chúng tôi trong trường hợp này, thật dễ dàng vì chúng tôi thấy, được rồi, Michelle, Angelina và Carlos là những
‫cái tên dài và chúng tôi biết danh sách.
‫Vì vậy, chúng tôi biết rằng có Joe và Anne, Maria và thậm chí cả Frank.
‫Chúng tôi có những cái tên ngắn hơn, nhưng vì lý do nào đó mà chúng không có trong danh sách mặc dù chúng tôi muốn có
‫tên ngắn nhất.
‫Ừ.
‫Những người hoặc những người có tên ngắn nhất.
‫Tôi không biết họ thấp hay cao bao nhiêu, nhưng điều đó không quan trọng ở đây.
‫Điều quan trọng là đây là một điều dễ dàng vì chúng tôi có danh sách hiển thị ở đây với tư cách là nhà phát triển.
‫Nhưng nếu chúng ta lấy danh sách từ một nơi khác thì sao?
‫Vì vậy, giả sử chúng ta lấy danh sách từ một tệp XML, rất lớn với hàng nghìn tên hoặc chúng ta lấy một danh sách
‫từ internet và chúng ta không thể xem danh sách trước khi nó thực sự được xử lý bởi phần mềm của chúng ta.
‫Vì vậy, chúng tôi sẽ không thấy rằng những cái tên được đặt cho chúng tôi thực tế không phải là những
‫cái tên ngắn nhất, nhưng phần mềm của chúng tôi có một lỗi nhỏ này, và bây giờ đó là những gì mà phương pháp khác làm.
‫Nó sẽ chỉ trả về tên ngắn nhất.
‫Và sau đó, chúng ta có số nhiều get party friends, chỉ trả về danh sách tất cả
‫những người có tên ngắn với số tiền nhất định mà chúng ta có thể thanh toán tại đây.
‫Vì vậy, chúng tôi vượt qua số ba, có nghĩa là chúng tôi sẽ chỉ có được ba người bạn.
‫Nếu chúng ta vượt qua số bốn, chúng ta sẽ có được bốn người bạn, v.v.
‫Được rồi.
‫Vì vậy, về cơ bản đó là những gì phần mềm của chúng tôi làm bây giờ.
‫Chúng tôi có thẻ gốc thương mại với Frank, vì vậy chúng tôi chỉ có danh sách bạn bè của bữa tiệc trống này.
‫Và miễn là danh sách bạn bè của bữa tiệc này có số lượng ít hơn, thì số đó đã được vượt qua, chúng tôi.
‫Đơn giản chỉ cần kiểm tra người bạn bên cạnh.
‫Sau đó, chúng tôi tiếp tục và chúng tôi thêm điều đó vào danh sách bạn bè của bữa tiệc.
‫Và những gì chúng tôi làm là xóa khỏi danh sách đã được chuyển cho chúng tôi.
‫Bây giờ đó là điều rất nguy hiểm, nhưng chúng tôi làm điều đó bởi vì chúng tôi là một nhà phát triển
‫mới bắt đầu và chúng tôi chỉ thực hiện thủ thuật nhỏ này khi chúng tôi nghĩ, được rồi, bây giờ chúng tôi sẽ loại bỏ
‫một biến hoặc một phần tử trong danh sách.
‫Và chúng tôi làm điều đó theo chương trình.
‫Và sau đó từng bước, chúng tôi có một danh sách ngắn và chúng tôi chỉ còn lại những người để so sánh, những người chưa có trong
‫danh sách của chúng tôi.
‫Được rồi.
‫Vì vậy, đó là những gì chúng tôi làm với danh sách này.
‫Loại bỏ.
‫Mặc dù đó không phải là lập trình sạch, chúng ta cũng sẽ xem cách khắc phục điều đó ở phần sau.
‫Nhưng hiện tại, chúng tôi có phần mềm và nó hoạt động.
‫Nó hoạt động hoàn toàn tốt.
‫Nhưng làm thế nào để chúng tôi tìm ra cách sửa lỗi này?
‫Bởi vì bây giờ chúng tôi biết rằng chúng tôi có một lỗi và tất nhiên chúng tôi có thể xem qua mã của chúng tôi.
‫Và trong trường hợp này, thật dễ dàng vì nó chỉ có 43 dòng mã.
‫Nhưng hãy tưởng tượng đó là hàng nghìn dòng mã, nhiều tệp khác nhau và nhiều người khác nhau đã làm việc trên nó
‫và bạn không thể tìm ra lỗi là gì.
‫Bây giờ, những gì bạn có thể làm là bạn có thể sử dụng khả năng gỡ lỗi của Visual Studio và để làm như vậy, những
‫gì bạn có thể làm là bạn chỉ cần thêm một điểm ngắt.
‫Bây giờ hãy bắt đầu với một điểm ngắt.
‫Chúng tôi có thứ này.
‫Chấm nhỏ màu đỏ ở đây ở phía bên tay trái.
‫Vì vậy, nói chung, thanh màu xám này mà bạn có ở đây, đó là nơi bạn có thể thêm các điểm ngắt.
‫Bạn cũng có thể thêm điểm ngắt bằng cách nhấn F nine và tôi sẽ không làm điều đó vì số 9 đang
‫tạm dừng phần mềm quay video của tôi.
‫Vì vậy, tôi cần phải làm điều đó bằng cách sử dụng chuột của mình.
‫Vì vậy, tôi đi đến gỡ lỗi và sau đó tôi có thể nhấn chuyển đổi điểm ngắt.
‫Điều đó sẽ làm là nó sẽ tạo ra điểm ngắt này cho tôi.
‫Tất nhiên bạn cũng có thể nhấn f nine.
‫Vì vậy, phím tắt là chín và nó dễ dàng hơn rất nhiều với việc sử dụng phím tắt khi bạn gỡ lỗi thay
‫vì phải gỡ lỗi và nhấp vào mọi lúc.
‫Được rồi.
‫Vì vậy, hãy làm quen với việc sử dụng các nút trên bàn phím của bạn.
‫Được rồi.
‫Vì vậy, sau đó chúng ta hãy bắt đầu gỡ lỗi.
‫Được rồi, vì vậy tôi đi đến gỡ lỗi và sau đó tôi bắt đầu gỡ lỗi hoặc tôi có thể nhấn F năm để bắt đầu gỡ lỗi.
‫Bây giờ, chúng ta có mũi tên nhỏ màu vàng này cho biết rằng đây là nơi phần mềm của chúng ta hiện đang bị
‫mắc kẹt.
‫Và chúng tôi đã làm cho nó bị mắc kẹt ở đó bởi vì chúng tôi đã tạo ra điểm ngắt này ở đây.
‫Vì vậy, phần mềm đang bị phá vỡ tại thời điểm đó và bây giờ chúng tôi có thể di chuyển phần mềm về phía trước theo tốc độ của riêng mình để chúng tôi
‫có thể đi từng dòng một và thậm chí chúng tôi có thể đào sâu hơn.
‫Vì vậy, chúng ta hãy làm điều đó.
‫Hãy bước qua, nhấn F10 hoặc nhấn nút này ở trên cùng để bước qua và chuyển sang bước tiếp
‫theo.
‫Nhân tiện, tất cả các nút này, chúng chỉ khả dụng vì tôi đang ở chế độ gỡ lỗi, phải không?
‫Vì vậy, tôi bắt đầu chạy phần mềm của mình và bạn cũng có thể thấy bước vào và bước ra tất cả đều có sẵn
‫ở đây.
‫Vì vậy, bạn có nhiều cách khác nhau để.
‫Yeah, bước qua, bước vào và bước ra hoặc nhấn các nút đó.
‫Được rồi.
‫Vì vậy, những gì tôi đang làm bây giờ là tôi đang đi đến dòng tiếp theo.
‫Vì vậy, tôi đã đi đến dòng tiếp theo.
‫Và bây giờ bạn có thể thấy rằng bạn bè là một giá trị có bảy giá trị.
‫Vì vậy, đó là một danh sách gồm bảy chuỗi Frank, Joe, Michelle, v.v.
‫Ở chỉ số 0, chúng tôi có Frank ở chỉ mục một với Joe, v.v.
‫Bây giờ bản thân những người bạn của bữa tiệc vẫn là một danh sách trống, mặc dù chúng tôi đang gán một giá trị cho nó.
‫Nhưng đó là bởi vì khi bạn đang ở dòng 11, dòng 10 đã thực thi, nhưng dòng 11 vẫn chưa thực thi.
‫Vì vậy, điều này có nghĩa là chúng ta cần phải bước qua một lần nữa để bạn có thể nhấn f ten một lần nữa để chuyển sang dòng tiếp theo.
‫Và dòng 13 của chúng tôi.
‫Vì vậy, dòng 12 đã bị bỏ qua vì không có gì ở đó, không có mã ở đó.
‫Và nó chỉ đi đến điều này cho mỗi vòng lặp.
‫Nhưng bây giờ nếu bạn muốn tìm hiểu sâu hơn thì sao?
‫Vì vậy, nếu bạn muốn biết điều gì đã xảy ra khi phương thức get party friends này được gọi?
‫Những gì bạn có thể làm là bạn có thể quay lại bằng cách kéo mũi tên này lên.
‫Vì vậy, tôi đang kéo nó trở lại và bây giờ tôi trở lại dòng 11 và bây giờ tôi có thể.
‫Thay vì bước qua bằng cách nhấn F ten, tôi có thể bước vào bằng cách nhấn F 11 để tôi có thể nhấn F
‫11 và tôi bước vào phương thức kết bạn cùng nhóm, có nghĩa là bây giờ chúng tôi đang ở hàng 18, nghĩa là bây giờ chúng
‫tôi ' bên trong của lệnh gọi phương thức Get Party Friends.
‫Và ở đây chúng ta cũng có thể đi.
‫Từng bước một.
‫Chúng ta có thể kiểm tra xem bạn bè của bữa tiệc là gì.
‫Chúng ta có thể kiểm tra giá trị của những người bạn bên.
‫Bạn có thể thấy số lượng là số không.
‫Vì vậy, nó là một danh sách trống, điều đó chỉ có nghĩa là không có mục nào trong danh sách.
‫Và sau đó, chúng tôi có vòng lặp hoang dã này, nơi chúng tôi so sánh các thứ để chúng tôi có thể đi đến dòng tiếp theo và
‫chúng tôi có thể thấy số bạn bè trong nhóm là 0 và chúng tôi so sánh 0 với 4 và số 0 nhỏ hơn bốn.
‫Vì vậy, vòng lặp hoang dã là hoặc hoang dã là đúng.
‫Vì vậy, chúng tôi có thể đi đến dòng tiếp theo và ở đây chúng tôi đang gọi Get Party Friend để chúng tôi có thể đi sâu hơn nữa,
‫vì vậy chúng tôi có thể bắt đầu có được một người bạn cùng nhóm.
‫Và bạn có thể thấy bây giờ chúng tôi đang ở trong phương pháp này ở đây.
‫Vì vậy, bước vào có nghĩa là bước vào một phương pháp bước ra, đó là sự thay đổi f 11 là nhảy ra khỏi một phương
‫pháp.
‫Nhưng bây giờ chúng ta hãy xem xét cuộc gọi phương thức này ở đây.
‫Chúng ta có thể thấy chúng ta có tên ngắn nhất, đó là Joe tại thời điểm này.
‫Sau đó, chúng tôi có vòng lặp for này và ở đây chúng tôi bắt đầu, từng bước trong vòng lặp for này.
‫Vì vậy, đầu tiên chúng ta đặt biến, sau đó chúng ta so sánh.
‫Khi so sánh là đúng, chúng ta đi đến vòng lặp for hoặc bên trong vòng lặp for.
‫Sau đó, chúng ta có câu lệnh if này, chúng ta so sánh một lần nữa và chúng ta có thể thấy
‫dường như, độ dài ba không lớn hơn độ dài hoặc độ dài ngắn nhất của ba.
‫Vì vậy, ba không phải là tuyệt vời.
‫Ba Bây giờ câu lệnh if này không đúng, vì vậy nó đã chuyển sang lần lặp tiếp theo của vòng lặp for.
‫Vì vậy, bây giờ nó sẽ chạy đi chạy lại vòng lặp for.
‫Bây giờ bạn có thể bước ra khỏi và điều này sẽ làm là nó sẽ bước ra khỏi quá trình thực thi phương thức này, và
‫sau đó bạn có thể bắt đầu từ đó.
‫Nhưng những gì bạn làm bằng cách này là bạn không thực hiện vòng lặp for như nó thường làm.
‫Vì vậy, nếu tôi bước ra một lần nữa, tôi sẽ nhận được một đối số nằm ngoài phạm vi ngoại lệ.
‫Vì vậy, bạn phải cẩn thận ở đây không được bước vào và ra liên tục, nhưng bạn phải lo lắng khi sử dụng các công cụ
‫này và tất nhiên bạn có thể chỉ chạy từ đó hoặc bạn có thể ngừng gỡ lỗi, bạn có thể khởi động lại toàn bộ quá trình gỡ lỗi vì bây giờ chúng tôi
‫có một lỗi nhỏ này và có thể bạn không biết làm thế nào để sửa chữa nó.
‫Vì vậy, chúng tôi chỉ có thể chạy lại toàn bộ và bây giờ chúng tôi có thể đi, tất nhiên, một lần nữa, từng bước.
‫Và chúng tôi có thể.
‫Bước qua, bước qua, bước qua cho đến khi chúng ta đến điểm mà nó đặt tên cho chúng ta.
‫Vì vậy, bạn có thể thấy bây giờ chúng tôi đang ở Michelle.
‫Bây giờ nó chuyển đến cái tên tiếp theo trong danh sách, Angelina sẽ đến cái tên tiếp theo trong danh sách và đó là
‫Carlos.
‫Vì vậy, bạn có thể thấy rằng bạn có thể kiểm tra mọi biến và trạng thái của mọi biến tại mỗi thời điểm, điều
‫này cực kỳ quan trọng nếu bạn muốn tìm hiểu mọi thứ.
‫Được rồi.
‫Vì vậy, đó là ý tưởng chung về cách sử dụng các điểm ngắt và cách bắt đầu với quá trình gỡ lỗi.
‫Trong video tiếp theo, chúng ta sẽ xem xét cách sửa lỗi logic này bằng cách xem các biến và trạng thái
‫của chúng theo cách tốt hơn.
‫Tất nhiên, vì bây giờ tôi có thể di chuột qua các biến và xem chúng có giá trị gì tại một điểm cụ
‫thể.
‫Nhưng tôi muốn so sánh nhiều biến cùng một lúc, hoặc xem trạng thái của nhiều biến cùng
‫một lúc.
‫Và đó là những gì chúng ta sẽ kiểm tra trong video tiếp theo.
‫Vì vậy, hẹn gặp bạn ở đó.