Erfahren Sie, wie die Continuous Quality Platform von Parasoft dabei hilft, Testumgebungen zu steuern und zu verwalten, um zuverlässig hochwertige Software zu liefern. Für Demo registrieren >>
In meinem Frühere BeiträgeIch habe eine vierstufige Strategie zur Vorbereitung der Anwendung für den 64-Bit-Portierungsprozess behandelt:
Zum Abschluss dieses Themas möchte ich eine Strategie zur Identifizierung von Fehlern auf dem 64-Bit-Prozessor vorstellen:
Kompilieren Sie Ihre Anwendung auf dem 64-Bit-Prozessor neu. Wenn Sie Probleme beim Kompilieren haben, arbeiten Sie alle Macken im Zusammenhang mit Compiler-Variationen aus. Möglicherweise möchten Sie auch statische Codeanalyseregeln erstellen, die den mit diesen Macken verknüpften Code automatisch identifizieren, sodass Sie verhindern können, dass diese Kompilierungsprobleme in Zukunft auftreten.
Einige zu berücksichtigende Regeln weisen auf schwer zu portierende (auf 64 Bit) und fehleranfälligen Code hin. Betrachten Sie beispielsweise die folgenden Beispiele (weitere Details finden Sie hier Post):
Ein benutzerdefinierter Regelsatz kann erstellt werden, indem die kritischen Regeln ausgewählt werden, die nur für diese bestimmte Aufgabe benötigt werden. Weitere Regeln können später nach Bedarf hinzugefügt werden.
Nachdem Sie diesen fehleranfälligen Code gefunden und repariert haben, suchen Sie nach Code, der auf Ihrer aktuellen Plattform / Architektur einwandfrei funktioniert, aber möglicherweise nicht gut portiert werden kann. Einige Regeln, die für die meisten 64-Bit-Portierungsprojekte gelten, umfassen:
Nachdem Sie den Code neu kompiliert haben, führen Sie erneut eine statische Codeanalyse durch, um zu überprüfen, ob der neue Code allen entsprechenden Codierungsstandards entspricht. An diesem Punkt ist jede Änderung, die hätte vorgenommen werden sollen, aber nicht vorgenommen wurde, ein Fehler. Beheben Sie diese Fehler sofort! Sie möchten nicht nach diesen Fehlern suchen, während die Anwendung ausgeführt wird.
Verknüpfen Sie Ihre Anwendung und versuchen Sie, sie zu erstellen.
An diesem Punkt sollten Sie versuchen, Ihren Code auszuführen. Wenn Sie Probleme haben, Code auf dem 64-Bit-Prozessor auszuführen, verwenden Sie a Unit-Test-Framework den Code Funktion für Funktion ausführen; Auf diese Weise können Sie genau das spülen, was im Code nicht portierbar ist. Testen Sie die Funktion und beheben Sie das Problem. Setzen Sie diesen Vorgang fort, bis die gesamte Anwendung ausgeführt wird.
Sobald die Anwendung ausgeführt wird, sollten Sie die Erkennung von Laufzeitfehlern wiederholen, da der Portierungsprozess wahrscheinlich einige neue Probleme verursacht, die vor dem Port nicht erkannt werden konnten (z. B. neue Speicherbeschädigungsprobleme oder anderes Verhalten). Wenn bei der Erkennung von Laufzeitfehlern Probleme auftreten, beheben Sie alle Fehler im Zusammenhang mit der Portierung.
***
Photo Credit: Jurvetson
Möchten Sie mehr erfahren? Schauen Sie sich unsere an Parasoft Insure ++Auf der Produktseite erfahren Sie, wie die Erkennung von Laufzeitfehlern Speicherbeschädigungen, Speicherlecks, Zugriff außerhalb der Array-Grenzen, ungültige Zeiger und andere Fehler aufdecken kann.
Die branchenführenden automatisierten Softwaretest-Tools von Parasoft unterstützen den gesamten Softwareentwicklungsprozess, vom Schreiben der ersten Codezeile über Unit- und Funktionstests bis hin zu Leistungs- und Sicherheitstests, wobei simulierte Testumgebungen genutzt werden.