Ich stieß vor kurzem auf ein Problem, das meine Programmierfähigkeiten herausforderte, und es war eine sehr zufällige Endlosschleife. Ich hatte einen Code umgeschrieben, um ihn auszutrocknen, und er änderte eine Funktion, die wiederholt mit genau den Methoden aufgerufen wurde, die sie aufgerufen hatte; ein elementares Thema, sicherlich. Apache entschied, das Problem durch einen Absturz zu lösen, und das Protokoll notierte nichts anderes als den "erzeugten Kindprozess". Das Problem war, dass ich das Problem an diesem Tag nie wirklich beendete, es kam am Nachmittag auf und musste es heute lösen.Wie Debuggen und Schutz vor Endlosschleifen in PHP?
Am Ende war meine Lösung einfach: Protokollieren Sie die Logik manuell und sehen Sie, was passiert ist. Das Problem war sofort offensichtlich, als ich eine Protokolldatei hatte, die aus zwei eindeutigen Zeilen bestand, gefolgt von zwei Zeilen, die jeweils zweihundert Mal wiederholt wurden.
Wie können wir uns vor Endlosschleifen schützen? Und wenn das scheitert (und es wird), was ist der schnellste Weg, es aufzuspüren? Ist es tatsächlich die Protokolldatei, die am effektivsten ist, oder etwas anderes?
Ihre Antwort könnte sprachunabhängig sein, wenn es eine Best Practice wäre, aber ich würde lieber bei PHP-spezifischen Techniken und Code bleiben.
Diese Frage trifft mich nicht anders als die allgemeine Frage "Wie schreibt man fehlerfreie Software?" Frage ... – gahooa
@gahooa, das bist nur du; Ich bin nicht an fehlerfreier Software interessiert, weil es nie dorthin gelangt. Ich möchte nur Tipps, um dieses Problem zu lösen, was mich neulich überrascht hat. –