Dieser Leitfaden bringt Ihnen bei, wie Sie:
Fußnote: Angepasst aus Perls Slogan: "Einfache Dinge sollten einfach und harte Dinge sein".
Dies ist eine Arbeitserfassung von Methoden und Copy-N-Paste-Rezepten für eine erfolgreiche Debuggierung einfacher und komplizierter Softwareprobleme. Einige Abschnitte sind ziemlich vollständig, während andere zu einem späteren Zeitpunkt fertig sind und andere noch nicht gestartet wurden.
Ich habe seit 1995 Software entwickelt und ein Großteil dieser Arbeiten umfasste Debugging. Im Laufe der Jahre entwickelte ich verschiedene effiziente Methoden, um die Quelle des Problems zu entdecken, was am schwierigsten ist, um es zu lösen. Da das Problem nach Verständnis des Problems in der Regel relativ einfach ist.
Von Zeit zu Zeit debugge ich ein Problem mit jemandem, der vorschlug, meine Ansätze mit der Welt zu teilen. Ich habe immer gesagt, dass es zu schwierig wäre, zu verallgemeinern, aber in letzter Zeit scheint der gepflanzte Samen entstanden zu sein, und so werde ich in den folgenden Dokumenten versuchen, einige der Erkenntnisse zu teilen, um dies manchmal sehr schwierig zu erleichtern.
Das Schreiben über das Debuggen in der Leere ist sehr schwierig, und da ich keine Anwendungsfälle gespeichert habe, wird es einige Zeit dauern, um dies aufzubauen. Erwarten Sie also, dass diese Seiten für viele Monde eine laufende Arbeit (WIP) sind. Aber hoffentlich könnten einige Ideen früher als später an Sie weitergeleitet werden, und sie würden helfen, Ihre Last durch Debuggen in Ihrer Arbeit zu erleichtern und Projekte zu spielen.
Schnelle Debugging -Methodik
Debugging Compiled -Programme - gdb , ldd , nm , LD_LIBRARY_PATH , LD_PRELOAD
Debugging Python - py-spy , Pfade, Autoabdruck
UNIX -Tools zum Debuggen - bash , strace , make , Prompt, nohup
Debugging maschinelles Lernensprojekte (extern)
Wenn Sie einen Fehler gefunden haben, Tippfehler oder eine Verbesserung vorschlagen möchten, zögern Sie bitte nicht, ein Problem zu eröffnen oder eine PR beizutragen.
Der Inhalt dieser Website ist unter Attribution-Sharealike 4.0 International verteilt.
✔ maschinelles Lernen: ML Engineering Online -Buch | ML Wege | Portierung
✔ Guides: Die Kunst des Debuggens
✔ Anwendungen: ipyexperimente
✔ Werkzeuge und Cheatsblätter: Bash | Conda | Git | Jupyter-notebook | machen | Python | Tensorboard | Unix