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 >>

C / C ++ - Speicher-Debugging

C- und C ++ - Speicher-Debugging

Identifizieren Sie sporadische Speicherbeschädigungen und -fehler, die zu Systemabstürzen führen, und legen Sie Sicherheitslücken offen.

Der ultimative Speicher-Debugger für C und C ++

Parasoft Insure ++ ist ein umfassendes Speicher-Debugging-Tool für C- und C ++ - Softwareentwickler. Sie können fehlerhafte Programmier- und Speicherzugriffsfehler finden, z. B. Heap-Beschädigung, unerwünschte Threads, Speicherlecks, Array außerhalb der Grenzen und ungültige Zeiger. Mit einem hochmodernen Code-Parser und Hunderten von Heuristiken analysiert Parasoft Insure ++ auch den Anwendungscode und meldet mehrere mögliche statische Verstöße.

Wie funktioniert es?

Parasoft Insure ++ ist ein Tool zur Laufzeitspeicheranalyse und Fehlererkennung für C und C ++, das automatisch eine Vielzahl schwer zu findender Programmier-, Speicherzugriffs- und Sicherheitsfehler sowie potenzielle Fehler und Ineffizienzen bei der Speichernutzung erkennt.

Während des Tests überprüft Insure ++ alle Arten von Speicherreferenzen, einschließlich der Verweise auf statischen (globalen), Stapel- und gemeinsam genutzten Speicher, entweder im Code des Benutzers oder in Ihren Bibliotheken von Drittanbietern.

Die Speicheranalysefunktionen von Insure ++ von Parasoft basieren auf patentierten Instrumentierungsalgorithmen für Quellen. Die Quellcode-Instrumentierung ermöglicht es Insure ++, mehr Fehlertypen als andere Speicherfehlererkennungstechnologien zu erkennen, und bietet vollständige Informationen, die die Hauptursachen der gefundenen Fehler angeben, unter Verwendung einer vollständigen Datenbank mit Programmelementen und Speicherstrukturen. Es gibt zwei Möglichkeiten, Insure ++ für die Speicheranalyse und Fehlererkennung zu verwenden.

Quellinstrumentierungsmodus

Die erste und detaillierteste Analyse wird mit vollständiger Quellcode-Instrumentierung erreicht. Dies erfordert, dass Anwendungsquellen kompiliert und mit Insure ++ verknüpft werden, das seine eigenen instrumentierten Dateien generiert, die an den eigentlichen Compiler übergeben werden.

Verbindungsmodus

Ohne Quellcode-Instrumentierung kann das Tool durch Verknüpfen des Anwendungsobjektcodes und der Bibliotheken mit Insure ++ die Kernel / Anwendungsprogramm-Schnittstelle „ausspionieren“, um Fehler wie Lecks, fehlerhafte Speicherreferenzen, Standard-API-Verwendungsfehler usw. zu erkennen.

Eigenschaften

Während des Debuggens zur Laufzeit überprüft Parasoft Insure ++ alle Ihre Speicherreferenzen, einschließlich der Verweise auf statischen (globalen), Stapel- und gemeinsam genutzten Speicher - sowohl in Ihrem eigenen Code als auch in Bibliotheken von Drittanbietern.

  • Beschädigter Heap- und Stack-Speicher
  • Verwendung nicht initialisierter Variablen und Objekte
  • Array- und String-Fehler auf Heap und Stack
  • Verwendung von baumelnden, NULL- und nicht initialisierten Zeigern
  • Alle Arten der Speicherzuweisung und freie Fehler oder Nichtübereinstimmungen
  • Alle Arten von Speicherlecks
  • Geben Sie Fehlanpassungen in globalen Deklarationen, Zeigern und Funktionsaufrufen ein

Zur Kompilierungszeit erkennt Parasoft Insure ++ Fehler, indem Abweichungen von C / C ++ - Standards festgestellt werden, die zu Speicherverlusten oder Anwendungsinstabilitäten führen können.

  • Der Zeigerwurf verliert an Präzision
  • Nicht übereinstimmende Formatspezifikation
  • Nicht übereinstimmender Argumenttyp
  • Code wird nicht ausgewertet, hat keine Auswirkung oder ist nicht erreichbar
  • Undefinierte Bezeichnung
  • Variable deklariert, aber nie verwendet
  • Zeiger auf lokale Variable zurückgeben
  • Die Funktion gibt einen inkonsistenten Wert zurück
  • Nicht verwendete Variablen

Die Abdeckungsanalyse von Parasoft Insure ++ ermöglicht die visuelle Identifizierung, welche Codeabschnitte ausgeführt wurden und welche nicht. Mit dieser Funktion können sich Benutzer auf das Testen von Anwendungsfällen für die noch nicht ausgeübten Codebereiche konzentrieren. Insure ++ kann den Basisblöcken auch eine Trefferanzahl hinzufügen, die angibt, wie oft jeder Block ausgeführt wurde, um überraschende Leistungsengpässe zu erkennen.

Softwareentwickler erhalten eine grafische Ansicht von Live-Daten über die laufende Speichernutzung und Speicherzuweisungen im Laufe der Zeit mit einem spezifischen Einblick in die gesamte Heap-Nutzung, Blockzuweisungen, mögliche ausstehende Lecks usw. Wenn ein Block durchgesickert ist, können Sie den Zuordnungsstapel-Trace sowie den Stack-Trace sehen, bei dem das Leck aufgetreten ist. Die Gesamtgröße des Heaps wird überwacht, und verschiedene Statistiken werden wie die Anzahl der Zuordnungs- und Freigabeanrufe verfolgt.

Parasoft Insure ++ meldet alle gefundenen Probleme. Zu den detaillierten Informationen, die Sie erhalten, gehören die Art des Fehlers, die Quelldatei und die Zeilennummer, der tatsächliche Inhalt der Quellcodezeile, der Ausdruck, der das Problem verursacht hat, sowie Informationen zu allen Zeigern und Speicherblöcken, die an dem Fehler beteiligt sind. Softwareentwickler können auch Zeigerwerte, Speicherblöcke, auf die verwiesen wird, Blockzuordnungsinformationen und die Stapelverfolgung anzeigen, die zeigen, wie das Programm zum Fehlerort gelangt ist.

Die meisten Projekte sind groß und enthalten mehrere Dateien. Es gibt jedoch Situationen, in denen Sie nur eine Handvoll dieser Dateien auf vermutete Laufzeitverletzungen untersuchen müssen. Dies geschieht, wenn Parasoft Insure ++ die einzelnen Dateien instrumentiert, die Sie untersuchen möchten. Die einzelnen Dateien können dann mit einer nicht instrumentierten ausführbaren Datei verknüpft werden. Dadurch werden Fehler in den betreffenden Dateien auf Quellenebene mit minimalem Aufwand gefunden.

Profitieren Sie vom Parasoft-Ansatz

Finden Sie die Hauptursache für Sicherheitsprobleme

Angesichts des zunehmenden Bewusstseins, dass Sicherheit keine optionale Überlegung mehr ist, ist es wichtig sicherzustellen, dass Ihre Anwendungen im Kern sicher sind. Verwenden Sie Parasoft Insure ++, um sich vor Sicherheitslücken im Stammverzeichnis zu schützen, die auf Speicherprobleme wie Heap-Beschädigung, Zeigermissbrauch, Pufferüberläufe, nicht initialisierten Speicher und undefiniertes oder implementierungsdefiniertes Verhalten zurückzuführen sind.

Verwalten und Debuggen Sie Ihre Speichernutzung

Mit Parasoft Insure ++ können Benutzer feststellen, wo Speicherprobleme auftreten, und Tools bereitstellen, mit denen ermittelt werden kann, was sowohl im Code als auch im Speicher vor sich geht. Mit der integrierten Abdeckungsanalyse und der dynamischen Speichervisualisierung können Sie Bereiche des Codes finden, die ausgeführt werden müssen, um nach Fehlern zu suchen und Ursachen für die Heap-Fragmentierung zu lokalisieren.

Finden Sie Speicherprobleme in Minuten

Entdecken Sie erfolgreich Fehler mit hohem Risiko für geschäfts- und sicherheitskritische Anwendungen in Branchen wie Finanzen, Transportwesen, Automobilindustrie, Luft- und Raumfahrt und Medizin. Softwareentwicklungsteams können mit Parasoft Insure ++ in Wochen oder sogar Minuten Probleme haben.

Probleme, deren Aufspüren mehrere Tage oder sogar Wochen in Anspruch nimmt, können wir mit Insure ++ routinemäßig in wenigen Stunden finden und beheben.

- Hewlett Packard