Was ist Debuggen?
Debugging bezieht sich auf einen Prozess in der Softwareentwicklung, bei dem Programmanalytiker den Computercode nach „Bugs“ durchsuchen - der Quelle von Fehlern, Mängeln oder Sicherheitslücken in den internen Programmanweisungen. Die Hardwareentwicklung durchläuft auch das Debugging, um die Kompatibilität mit den aktuellen Hardwarestandards und die Interoperabilität zwischen Komponenten sicherzustellen, die dieselben Protokolle verwenden. Darüber hinaus garantiert das Debuggen, dass Hardware und Software abwärtskompatibel sind oder mit bereits existierenden Standards koexistieren, die möglicherweise noch verwendet werden.
Das Software-Debugging erfolgt in zwei Phasen. Die erste Phase wird als „Alpha-Test“ bezeichnet und intern durchgeführt, bevor die Software veröffentlicht wird. Die zweite Phase wird durch ein öffentliches Verfahren durchgeführt, das als „Betatest“ bezeichnet wird. Betatester sind freiwillige Computerenthusiasten, die Betasoftware auf eigenes Risiko verwenden, sofern vereinbart wird, dass Fehler oder Probleme den Entwicklern gemeldet werden.
Da Fehler isoliert und identifiziert werden müssen, bevor sie gepatcht werden können, besteht der erste Schritt darin, die Software unter verschiedenen Bedingungen zu testen. Wenn sich ein Fehler zeigt, merkt sich der Debugger die genauen Bedingungen, unter denen der Fehler aufgetreten ist, einschließlich der aktuell ausgeführten Funktion, des Betriebssystemtyps und der Version sowie anderer Software- oder Hardwarekomponenten, die möglicherweise relevant sind. Öffentliche Betatester reichen detaillierte Berichte online ein, in denen relevante Details aufgeführt sind, indem sie normalerweise ein vorgefertigtes Formular ausfüllen.
Sobald beide Debugging-Phasen abgeschlossen sind, ist das Softwareprogramm für eine allgemeine Veröffentlichung als stabile Version bereit. Das Debuggen wird jedoch als Wartungsprotokoll für die gesamte Lebensdauer des Produkts fortgesetzt und mit größeren Upgrades intensiviert.
Hardware wird getestet, bevor sie auf den Markt kommt, und es werden keine realen Betatests per se durchgeführt, da dies aus einer Reihe von ziemlich offensichtlichen Gründen zu teuer und problematisch wäre. Stattdessen stellen die meisten Hardwarehersteller eine Online-Schnittstelle bereit, über die Benutzer technischen Support erhalten oder Probleme mit der Hardware melden können. In vielen Fällen stellen sich diese Probleme als Benutzerfehler heraus, der Prozess dient jedoch auch zum Aufdecken von Fehlern, die in der anfänglichen Debugging-Phase nicht aufgetreten sind. Debugger können zu den Anweisungen zurückkehren, die in den Steuerchips codiert sind, und Änderungen vornehmen, um die Hardware von den Fehlern zu befreien. Der Hersteller kann dann ein Firmware-Upgrade bereitstellen, das Benutzer online herunterladen können, um ihre Hardware zu aktualisieren.
Während das interne Debuggen sicherlich die Software und Hardware von vielen Fehlern befreien kann, ersetzt nichts das Testen in der Praxis. Für einen Autor oder Hersteller ist es praktisch unmöglich, alle denkbaren Bedingungen und Systeme zu reproduzieren, unter denen die Hardware oder Software verwendet wird. Viele erfahrene IBM-PC-Benutzer warten 12 bis 36 Monate, bevor sie aus diesem Grund auf ein neues Betriebssystem migrieren, z. B. um von Windows ™ XP ™ auf Windows Vista ™ zu wechseln. Dies gibt der Community Zeit, um wichtige Sicherheitsprobleme, Fehler oder andere anfängliche Probleme zu identifizieren, die möglicherweise ein Debugging und Patching erfordern.