Zu meiner Zeit hatten wir keinen Speicherschutz und das ganze schicke Geschäft! Wir haben printf verwendet, um festzustellen, wo wir im Programm waren, und es hat uns gefallen !
Trotz allem bedeutete dies normalerweise, dass wir nur vorsichtiger waren. Wo malloc aufgerufen wird, musste es irgendwo anders im Programm ein freies geben, und eine solche Überprüfung war streng, da Segmentierungsfehler im Falle eines Problems, wie Sie deutlich gezeigt haben, keine hilfreichen Fehler sind.
Im Falle solcher Fehler ist das Beste , was Sie tun könnten versuchen zu verstehen , wenn eine solche Segmentierung Fehler (unter Verwendung von printf) auftreten und Blick auf den Code, festzustellen , warum Zugriff auf den Speicher zu diesem Zeitpunkt von dort nicht gültig und die Arbeit nach hinten war.
Im Wesentlichen passiert heute das Gleiche, außer dass wir Debugger verwenden, um festzustellen, wann Fehler auftreten, aber Sie müssen immer noch verstehen, warum dies passiert ist, und es ist nicht immer so einfach, wie die Zeile zu finden, in der der Fehler aufgetreten ist. Fehler verursachen Fehler wie eine Kettenreaktion, und wenn Sie damals ein C-Programmierer waren, verbrachten Sie 20% Ihrer Zeit mit dem Programmieren und den Rest der Zeit damit, Ihre Haare herauszuziehen, um Fehler zu beheben.