Gần đây tôi đã gặp phải một vấn đề thách thức khả năng lập trình của tôi, và đó là một vòng lặp vô hạn vô tình. Tôi đã viết lại một số mã để làm khô nó và thay đổi một hàm được lặp đi lặp lại được gọi bằng các phương thức chính xác mà nó gọi; một vấn đề cơ bản, chắc chắn. Apache quyết định giải quyết vấn đề bằng cách đâm sầm, và nhật ký không ghi nhận gì ngoài "quy trình con đẻ trứng". Vấn đề là tôi chưa bao giờ thực sự hoàn thành việc gỡ lỗi vấn đề ngày hôm đó, nó đã bị cắt vào buổi chiều và phải giải quyết nó ngay hôm nay.Làm thế nào để gỡ lỗi, và bảo vệ chống lại, vòng lặp vô hạn trong PHP?
Cuối cùng, giải pháp của tôi rất đơn giản: đăng nhập logic theo cách thủ công và xem điều gì đã xảy ra. Vấn đề là ngay lập tức rõ ràng khi tôi đã có một tập tin đăng nhập bao gồm hai dòng duy nhất, tiếp theo là hai dòng được lặp đi lặp lại một số hai trăm lần apiece.
Một số cách để tự bảo vệ mình khỏi các vòng lặp vô hạn là gì? Và, khi thất bại (và nó sẽ), cách nhanh nhất để theo dõi nó là gì? Nó thực sự là tệp nhật ký hiệu quả nhất, hay cái gì khác?
Câu trả lời của bạn có thể là ngôn ngữ bất khả tri nếu đó là phương pháp hay nhất, nhưng tôi muốn gắn bó với các kỹ thuật và mã PHP cụ thể.
Câu hỏi này không đánh tôi như bất kỳ câu hỏi nào khác với câu hỏi "cách chúng tôi viết phần mềm không có lỗi" chung ... – gahooa
@gahooa, đó chỉ là bạn; Tôi không quan tâm đến phần mềm không có lỗi vì nó sẽ không bao giờ đến đó. Tôi chỉ muốn các mẹo để bắt gặp vấn đề này, khiến tôi mất cảnh giác vào ngày khác. –